Tag: oledb

快速testingOLE DB连接string的方法

为了debugging目的,我想知道如何快速testingOLE DB连接string。 我发现这个免费的软件 ,它在我的机器上运行,testing成功。 有没有更快的方式来这样做,也许从Windows上的命令行? 因为大部分时间都是客户而不是我来完成这个任务,所以我更喜欢一个“零安装”的方法,这个方法至less会影响到他们的系统。

“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册“将xlsx导入到sql server时出错

我有一个64位的Windows 7和SQLServer 2008 R2(64位) 我按照这里的说明将excel文件导入到sql server中,但是在图3中,当我尝试访问excel文件时,当我点击下一个错误时,使我停下来: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine 我在网上search,我知道我必须安装AccessDatabaseEngine_x64 。 但是当我安装它,我有一个相同的问题 你能帮我做些什么吗?

读取Excel文件的最佳方式(.xls / .xlsx)

我知道有不同的方法来读取Excel文件: Iterop Oledb Open Xml SDK 兼容性不是问题,因为程序将在受控环境中执行。 我的要求: 读取一个文件到一个DataTable / CUstom Entitie s(我不知道如何使一个对象的dynamic属性/字段[列名将在var文件中变化]) 使用DataTable/Custom Entities使用其数据执行一些操作。 用操作结果更新DataTable 把它写回excel file 。 这会更简单。 另外如果可能的话,build议我在自定义实体(dynamic添加属性/字段到对象)

找不到可安装的ISAM

我有以下代码: string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\db\suc.xls; Extended Properties=""Excel 12.0;HDR=YES;"""; // Create Connection to Excel Workbook using (OleDbConnection connection = new OleDbConnection(excelConnectionString)) { OleDbCommand command = new OleDbCommand ("Select * FROM [Sheet1$]", connection); connection.Open(); 我得到以下错误: 找不到可安装的ISAM。 在connection.Open() 。 有任何想法吗 ?

OLEDB参数化查询

public void LoadDB() { string FileName = @"c:\asdf.accdb"; string query = "SELECT ID, Field1 FROM Table1 WHERE ID=? AND Field1=?"; string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName; OleDbConnection odc = new OleDbConnection(strConn); dAdapter = new OleDbDataAdapter(); OleDbCommand cmd = new OleDbCommand(query,odc); cmd.Parameters.Add("?", OleDbType.Integer, 5).Value = 1234; cmd.Parameters.Add("?", OleDbType.BSTR, 5).Value ="asdf"; dAdapter.SelectCommand = cmd; ds = […]

如何使用C#连接到MS Access文件(mdb)?

我试图连接到一个mdb文件,我明白,我将需要Microsoft.OLEDB.JET.4.0数据提供程序。 不幸的是,我没有安装在(大学)机器上。 既然,他们不提供这个提供者,我相信应该有办法。 如何在没有Microsoft.OLEDB.JET.4.0的情况下连接到文件,或者是否有其他select? 我有以下提供者: 我曾尝试使用OLE DB Provider for Microsoft Directory Services ,在testing连接时,我得到'testing成功,但某些设置不被提供程序接受'。 我拿了这个string,并用它,我得到ADsDSOObject' failed with no error message available, result code: DB_E_ERRORSINCOMMAND(0x80040E14) 。

OLE DB和ODBC数据源有什么区别?

我正在阅读关于pivotcache的MS Excel帮助文章,并想知道它们是什么意思的OLE DB和ODBC源 …您应该使用CommandText属性而不是SQL属性,该属性现在主要用于与早期版本的Microsoft Excel兼容。 如果您使用这两个属性,CommandText属性的值优先。 对于OLE DB源 ,CommandType属性描述CommandText属性的值。 对于ODBC源 ,CommandText属性的function与SQL属性完全相同,并且设置属性会导致数据刷新… 我真的很感激你的简短答案。

通过datagridviewsearch值

我尝试通过在文本框中input文本,然后使用SQL查询数据库,然后在datagridview中显示结果来search数据库中的特定值。 这里是代码: Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged Connection.Open() Dim dataTable As New DataTable Dim dataSet As New DataSet dataSet.Tables.Add(dataTable) Dim dataAdapter As New OleDbDataAdapter Dim SQLQuery As String SQLQuery = <sql> SELECT * FROM Students WHERE StudentFirstName = @StudentFirstName </sql> .Value dataAdapter = New OleDbDataAdapter(SQLQuery, Connection) dataAdapter.SelectCommand.Parameters.Add("@StudentFirstName", SqlDbType.Text).Value […]

如何使用oledb参数更新表?

我有一个表有三个字段,即LM_code,M_Name,Desc。 LC_code是一个自动生成的stringId,保持这个我正在更新M_Name和Desc。 我使用正常的更新命令,该值在运行时传递,但字段没有得到更新。 我希望使用oledb参数的字段可以更新。 这是我的代码。 public void Modify() { String query = "Update Master_Accounts set (M_Name='" + M_Name + "',Desc='" + Desc + "') where LM_code='" + LM_code + "'"; DataManager.RunExecuteNonQuery(ConnectionString.Constr, query); } 在DataManager类中,我正在执行查询string。 public static void RunExecuteNonQuery(string Constr, string query) { OleDbConnection myConnection = new OleDbConnection(Constr); try { myConnection.Open(); OleDbCommand myCommand = new OleDbCommand(query, […]

使用Excel OleDb来获取表格名称

我使用OleDb从Excel工作簿中读取很多工作表。 我需要阅读工作表名称,但是我需要他们在电子表格中定义的顺序; 所以如果我有一个这样的文件, |_____|_____|____|____|____|____|____|____|____| |_____|_____|____|____|____|____|____|____|____| |_____|_____|____|____|____|____|____|____|____| \__GERMANY__/\__UK__/\__IRELAND__/ 然后我需要得到字典 1="GERMANY", 2="UK", 3="IRELAND" 我试过使用OleDbConnection.GetOleDbSchemaTable() ,这给了我名单的名单,但它按字母顺序sorting他们。 阿尔法sorting意味着我不知道一个特定的名字对应的纸张编号。 所以我得到 GERMANY, IRELAND, UK 这改变了UK和IRELAND的秩序。 我需要对它进行sorting的原因是我必须让用户通过名称或索引来select一个范围的数据; 他们可以要求“从德国到爱尔兰的所有数据”或“从表格1到表格3的数据”。 任何想法将不胜感激。 如果我可以使用办公室interop类,这将是直接的。 不幸的是,我不能这样做,因为互操作类在非交互式环境(如windows服务和ASP.NET网站)中不能可靠地工作,所以我需要使用OLEDB。