C#ODBC驱动程序';s SQLSetConnectAttr失败

本文关键字:SQLSetConnectAttr 失败 驱动程序 C#ODBC | 更新日期: 2023-09-27 18:27:06

我正在尝试使用.net控制台应用程序连接到Access 2007数据库(.accdb)。我在ODBC管理器中设置了一个系统DSN。这就是我设置连接的方式:

conn = new OdbcConnection();
conn.ConnectionString = "DSN=HU-FU";
conn.Open();

在我的开发机器上,它运行得很好,但今天我试图将它安装在客户端机器上,结果出现了以下错误:

ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed

有人知道问题出在哪里吗?


以下是ODBC跟踪源:

UPSShipmentServ 1454-6f0 ENTER SQLDriverConnectW 
  HDBC                0x00424070
  HWND                0x00000000
  WCHAR *             0x69938B34 [      -3] "******' 0"
  SWORD                       -3 
  WCHAR *             0x69938B34 
  SWORD                       -3 
  SWORD *             0x00000000
  UWORD                        0 <SQL_DRIVER_NOPROMPT>
UPSShipmentServ 1454-6f0 EXIT  SQLDriverConnectW  with return code -1 (SQL_ERROR)
  HDBC                0x00424070
  HWND                0x00000000
  WCHAR *             0x69938B34 [      -3] "******' 0"
  SWORD                       -3 
  WCHAR *             0x69938B34 
  SWORD                       -3 
  SWORD *             0x00000000
  UWORD                        0 <SQL_DRIVER_NOPROMPT>
DIAG [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed (0)

UPSShipmentServ是我的应用程序的名称。但遗憾的是,这对我来说没有任何意义…


这个问题还有一个补充。我在两台机器上都检查了Access驱动程序(ACEODBC.DLL)的版本,我的版本比客户端的版本更新得多。可能是问题吗?有什么办法更新他的司机吗?

谢谢。

C#ODBC驱动程序';s SQLSetConnectAttr失败

好了,伙计们,我必须为这个问题道歉

我知道问题出在哪里。这是个愚蠢的错误。在ODBC管理器中,当我设置DSN时,我没有正确选择accdb文件。所以我的程序失败了,因为没有为DSN选择数据库文件。

因此,下次如果您看到此错误,请确保您的DSN设置正确。无论如何,谢谢你的回复。

也许我不在,但我通常直接引用Access bd文件(这不是必要的正确方式):

    String dbPath = "c:'access.accdb";
    OleDbCommand cmd = new OleDbCommand();
    OleDbConnection mycon = new OleDbConnection();
    mycon.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbPath + ";Jet OLEDB:Database Password=thePassword;";
    cmd = mycon.CreateCommand();
    cmd.CommandText = Query;
    mycon.Open();

在安装odbc数据源的客户端计算机上进入odbc数据来源管理员并添加数据源"HU_FU"

相关文章:
  • 没有找到相关文章