データベース接続を確立できるかどうかをテストするプログラムがあります。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()行で失敗します。