0
Platform: visual Studio 2010
Language: C#
Framework: .NET 4.0
Project: Windows Form

そのため、データを取得できませんが、すでに接続しています。また、 「サーバーエクスプローラー」を使用して接続しようとしましたが、問題なく正しく接続および取得できました。

「サーバーエクスプローラー」の設定

Connection String: Driver={SQL Anywhere 11};userid=*****;servername=*****;autostop=YES;integrated=NO;filedsn=C:\*****\*****.db.dsn;commlinks='SharedMemory,TCPIP{host=}';compress=NO

Provider: `.NET Framework Data Provider for ODBC`

現在、私のソースコードでは、System.Data.Odbcを使用しています。

Code:

String connString = @"Driver={SQL Anywhere 11};userid=*****;servername=gamca;autostop=YES;integrated=NO;filedsn=C:\*****\*****.db.dsn;debug=NO;disablemultirowfetch=NO;commlinks='SharedMemory,TCPIP{host=}';compress=NO;password=*****";
OdbcConnection myConnection = new OdbcConnection(connString);
commandString = "DELETE from AGENCY";
try {
   using (OdbcCommand cmd = new OdbcCommand(commandString, myConnection)) {
   myConnection.Open();
   cmd.ExecuteNonQuery();
   myConnection.Close();
}

エラー:Error [42S02] [Sybase][ODBC Driver][SQL Anywhere]Table 'AGENCY' not found

また、OleDbとiAnywhere.Data.SQLAnywhere(V2)を使用してみましたが、運が悪かったため、この1つのエラーを通過できません。

誰かが同じ問題を経験しましたか?

コメントをいただければ幸いです。ありがとうございます。

4

1 に答える 1

0

このクエリは、既定のデータベース (マスターなど) で実行されます。次のように、ConnString または CommandString にデータベース名を追加します。

commandString = "USE MyDatabase DELETE from AGENCY";

MyDatabase をデータベース名に置き換えることを忘れないでください。

于 2012-10-03T06:33:53.730 に答える