У меня есть программа, в которой он тестирует, может ли он подключиться к базе данных. Он либо подключается к базе данных SQL Server через ODBC, либо через Microsoft Access (.mdb) через ODBC. Sql работает отлично, но я не могу понять, как получить доступ к работе.Не удается открыть соединение ODBC доступа
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().
Кроме того, помните, что есть две установки ODBC в 64-разрядной системе. – Rob
Существует 64-битный драйвер для доступа, и он бесплатный, http://stackoverflow.com/tags/ms-access/info. Я думаю, вы должны означает, что вы не установили 64-битный драйвер. – Fionnuala