2016-11-10 132 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文件的同一个目录中,否则试着直接写你的连接字符串到你的程序中进行测试。

相关问题