0

私はこの挿入クエリを持っています

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 で作り直す必要があることはわかっていますが、その時間はありません。

4

0 に答える 0