簡體   English   中英

Microsoft Access OleDb連接錯誤

[英]Microsoft Access OleDb Connection Error

我試圖從我的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驅動程序]無效的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);

顯然,該錯誤可能是由於指定的表不存在引起的。 只是一個想法...

另一個想法是消除遠程處理的復雜性,並嘗試使用最簡單的工作代碼,可能使用新的訪問數據庫只是為了縮小導致問題的原因。

如果將命令類型設置為“存儲過程”,則對我有用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM