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"。"}
我的指挥很基本,我不知道会出什么问题。有人遇到过同样的问题吗?谢谢
试试这个。。。。
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;