0

データベース接続を確立できるかどうかをテストするプログラムがあります。ODBCを介してSQLServerdbに接続するか、ODBCを介してMicrosoft Access(.mdb)に接続します。SQLの1つは正常に機能しますが、アクセスの1つを機能させる方法がわかりません。

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()行で失敗します。

4

1 に答える 1

0

Well just figured out by own problem about 2 minutes too late. Turns out there is no 64-bit driver for Microsoft Access. By app was targeting 64-bit and so it wasn't able to find the drier. I simply changed to x86 and it worked fine.

于 2013-02-16T08:00:22.640 に答える