私は、DTSと同じ機能(AS400からSQL Serverへのデータ転送)を持つアプリケーションを持っています。私が作ったスケジュールに従ってこのアプリケーションを実行する必要があります。WindowsでVBアプリケーションを実行するタスクスケジューラ
ERROR [HY000][IBM][System i Access ODBC Driver]Missing system name needed for connection.
これは私がAS400への接続を行うために使用するスクリプトです:私はそれを開くが、私はタスクスケジューラに入れた場合、それは常にエラーを示している場合、このアプリケーションが正常に動作します。私はそれを正常に(スケジューラではない)実行すると、エラーなしで実行されます。誰もそれを修正する方法を知っていますか?
Public Sub takeconnectionas400()
_inifile.Baca("Config.ini", "AS400")
system = _inifile.system
uid = _inifile.uid
pwd = _inifile.pwd
dbq = _inifile.dbq
db_as = "Driver={Client Access ODBC Driver (32-bit)};System=" & system & ";Uid=" & uid & ";Pwd=" & pwd & ";Dbq=" & dbq & ""
conn_as = New OdbcConnection(db_as)
Try
If conn_as.State = ConnectionState.Closed Then
conn_as.Open()
End If
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "Error")
End Try
End Sub
これは少し長めですが、通常のユーザーで接続が定義されている場合は、スケジュールされたタスクユーザーに表示されないことがあります。 –
さらに、 '_inifile.Baca'を呼び出すときに' config.ini'の絶対パスを指定してください。 –
いいえ、iniファイルを使わないようにテストするとうまくいきます。しかし、なぜiniFileを使用すると、エラーが表示されるのですか?(私はタスクスケジューラにiniファイルを置くべきですか? –