【发布时间】:2017-03-24 04:18:17
【问题描述】:
我有一个功能与 DTS 相同的应用程序(将数据从 AS400 传输到 SQL Server)。我需要这个应用程序按照我制定的时间表运行。这个应用我打开就可以正常运行,但是如果我把它放在任务计划程序中,它总是显示错误:
ERROR [HY000][IBM][System i Access ODBC Driver]缺少系统名称 需要连接。
这是我用来连接到 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文件放到任务调度程序中吗?
标签: sql vb.net ibm-midrange taskscheduler