私はこの挿入クエリを持っています
INSERT INTO MY_DB_MY_LINKED_TABLE (FIELD1, FIELD2, FIELD3, FIELD4, TIMETOENTER) values ('Sometext', '2018', '1234567', '20/11/17', 3)
Field1 - テキスト、
Field2 - テキスト、
Field3 - テキスト、
Field4 - 日付/時刻、
TIMETOENTER - 番号
クエリで db スキーム名も使用しているわけではありません。
私の仕事は、この VB.NET (Visual Studio 2005 を使用) アプリケーションを Windows 10 で動作させることです。
私のドライバーは
provider=microsoft.jet.oledb.4.0;data source='C:\Documents and Settings\MyUserName\My Documents\MyApp\bin\MyApp.mdb';
ADODB.Connection.Execute()ステートメントを使用するこのユーティリティ関数があります
Public Sub executeSqlStatement(ByRef dbConn As ADODB.Connection, ByVal sqlStmt As String, ByVal debugMode As Boolean, ByRef statusBar As System.Windows.Forms.ToolStripStatusLabel)
Try
dbConn.Execute(sqlStmt, CommandType.Text)
Catch ex As Exception
Dim funcName As String = System.Reflection.MethodInfo.GetCurrentMethod().Name
Utils.PrintToConsole("sql stmt: " & sqlStmt)
Utils.PrintToStatusBar(funcName & ": " & ex.Message, debugMode, statusBar)
End Try
End Sub
Access 2000 クエリの SQL ビューでそのままクエリを実行しようとしました。できます。テーブルに行が表示されます。
問題は、Windows XP でも executeSqlStatement() の上のコマンドを実行すると、エラーでクラッシュすることです。
Syntax error in INSERT INTO statement.
何が問題なのかわからない?
クエリは Access 2000 で実行されます。ただし、新しいバージョンの Access は 64 ビット コマンドを処理できますが、DB2 には古い 32 ビット ドライバーがあるため、SQL コマンドを直接 DB2 に送信することはできません。はい、Access 2000 をインストールしましたが、なぜエラーが発生するのかわかりませんか? 何か案は?
はい、ADO.NET で作り直す必要があることはわかっていますが、その時間はありません。