2013-07-29 2 views
1

Я пытаюсь получить доступ к базе данных Access 2003 удаленно из своего приложения ASP.NET. Мой код:Ошибка подключения Microsoft Access OleDb

DataSet dsImportedData = new DataSet(); 
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(); 
conn.ConnectionString = @"Provider=MS Remote;Remote Provider=Microsoft.Jet.OLEDB.4.0;Remote Server=http://myIp;Data source=C:\myDatabase.mdb;"; 
try 
{ 
    System.Data.OleDb.OleDbCommand command = conn.CreateCommand(); 
    command.CommandText = "SELECT * FROM myTable"; 
    conn.Open(); 
    System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(command); 
    adapter.Fill(dsImportedData); 
} 
catch (Exception ex) 
{ 
} 
finally 
{ 
    conn.Close(); 
} 

Однако, я всегда получаю исключение с указанием: { "[Microsoft] [ODBC Microsoft Access Driver] Invalid SQL заявление, как ожидается 'DELETE', 'INSERT', 'PROCEDURE', ' SELECT 'или' UPDATE '. "}

Моя команда является базовой, я понятия не имею, что может быть неправильным. Кто-нибудь сталкивался с той же проблемой? Благодаря!

ответ

0

Попробуйте это ....

String command = "SELECT * FROM myTable"; 

conn.Open(); 

System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(command, conn); 
adapter.Fill(dsImportedData); 
+0

Спасибо за ваш ответ. Пробовал и по-прежнему получал ту же ошибку. – Crista23

+0

{«[Microsoft] [драйвер доступа Microsoft Access] Недопустимый оператор SQL: ожидаемые« DELETE »,« INSERT »,« PROCEDURE »,« SELECT »или« UPDATE ».»}. Также указан код ошибки: -2146819841. – Crista23

+0

Вы попробовали ex: 'command.CommandType = CommandType.TableDirect;' 'command.CommandText =" myTable ";' – Nilesh

0

Видимо, ошибка может быть вызвана указанная таблица не существует. Просто мысль ...

Еще одна мысль заключалась в том, чтобы удалить сложность удаленного взаимодействия и попытаться получить самый простой рабочий код, возможно, с новой базой данных доступа, чтобы просто сузить причину проблемы.

0

Если вы зададите тип команды для процедуры «Магазины», она работает для меня.

command.CommandType = System.Data.CommandType.StoredProcedure; 
Смежные вопросы