Microsoft Access OleDb连接错误

本文关键字:错误 连接 OleDb Access Microsoft | 更新日期: 2023-09-27 18:25:32

我正试图从ASP.NET应用程序远程访问access 2003数据库。我的代码是:

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]无效的SQL语句;应为"DELETE"、"INSERT"、"PROCEDURE"、"SELECT"或"UPDATE"。"}

我的指挥很基本,我不知道会出什么问题。有人遇到过同样的问题吗?谢谢

Microsoft Access OleDb连接错误

试试这个。。。。

String command = "SELECT * FROM myTable";
conn.Open();
System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(command, conn);
adapter.Fill(dsImportedData);

显然,错误可能是由指定的表不存在引起的。只是一个想法。。。

另一个想法是消除远程处理的复杂性,并尝试获得最简单的工作代码,可能使用一个新的访问数据库来开始缩小问题的根源。

如果您将命令类型设置为Stores过程,它对我有效。

command.CommandType = System.Data.CommandType.StoredProcedure;