2016-11-10 3 views
0

У меня есть приложение, которое имеет такую ​​же функцию, как DTS (передача данных с AS400 на SQL Server). Мне нужно, чтобы это приложение выполнялось в соответствии с графиком, который я сделал. Это приложение работает нормально, если я открываю его, но если я ставлю его в планировщик задач, она всегда показывает ошибку:Запустить приложение VB в планировщике задач Windows

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

Дополнительно: попробуйте указать абсолютный путь вашего 'config.ini' при вызове' _inifile.Baca' –

+0

Хорошо, когда я тестирую, чтобы не использовать ini-файл, он работает. Но почему, если я использую iniFile, всегда отображается эта ошибка :(Должен ли я помещать файл ini в планировщик задач? –

ответ

0

ваша программа не нашла ваш ini-файл, или inifile не содержит информацию о вашей связи. Уже пытайтесь поместить ваш inifile в ту же директорию вашего exe, иначе попробуйте написать непосредственно вашу connexionstring в вашу программу для тестирования.