2016-11-10 195 views
0

我有一個與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 
+2

這有點遠,但如果您的連接是在普通用戶下定義的,則它可能對計劃任務用戶不可見。 –

+1

另外:當調用'_inifile.Baca'時嘗試提供你的'config.ini'的絕對路徑 –

+0

好的,當我測試不使用ini文件時,它的工作原理。但爲什麼如果我使用iniFile總是顯示錯誤:(我應該把ini文件放到任務調度程序中? –

回答

0

你的程序沒有找到你的ini文件,或者inifile不包含你的connexion信息。已經嘗試將你的inifile放在你exe文件的同一個目錄中,否則試着直接寫你的連接字符串到你的程序中進行測試。

相關問題