【问题标题】:Can't Open an Access ODBC Connection无法打开 Access ODBC 连接
【发布时间】:2013-02-16 07:54:49
【问题描述】:

我有一个程序可以测试它是否可以建立数据库连接。它可以通过 ODBC 连接到 SQL Server db,也可以通过 ODBC 连接到 Microsoft Access (.mdb)。 Sql 一工作正常,但我不知道如何让访问一工作。

System.Data.Odbc.OdbcConnection odbcConn = new System.Data.Odbc.OdbcConnection();
if ({SQL})//If SQL, setup SQL server connection string
    odbcConn.ConnectionString = @"Driver={SQL Server};Server={server};Database={DB};@";Uid=     {uid};Pwd={pwd};";
else //Otherwise it's access so setup access string
    odbcConn.ConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};Dbq={path}\test.mdb;Pwd={pwd};";

string testQuery = "SELECT 1";
OdbcCommand odbcComm = new OdbcCommand(testQuery);
try
{
   odbcComm.Connection = odbcConn;
   odbcConn.Open();
   odbcComm.ExecuteNonQuery();
}

这适用于 SQL 服务器。不管我做什么,我都无法使用 Access 进行连接,即使我有另一个程序只是使用该连接字符串进行访问并且工作正常,但它在这里不起作用。我尝试执行以下操作:

odbcComm.CommandText = "Select 1";
OdbcDataReader data = odbcComm.ExecuteReader();

这也没有用。我错过了什么?我必须做什么才能打开 Access 连接?它在 odbcConn.Open() 行失败。

【问题讨论】:

    标签: c# ms-access odbc connection-string


    【解决方案1】:

    好吧,只是晚了大约 2 分钟才发现自己的问题。原来 Microsoft Access 没有 64 位驱动程序。 By app 是针对 64 位的,所以它无法找到干燥器。我只是更改为 x86,它工作正常。

    【讨论】:

    • 另外,请记住在 64 位系统上有两个 ODBC 设置
    • Access有64位驱动,而且是免费的,stackoverflow.com/tags/ms-access/info我想你一定是说你没有安装64位驱动。
    猜你喜欢
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多