2016-11-10 3 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 파일을 찾지 못했거나 귀하의 연결 정보를 포함하고 있지 않습니다. 이미 exe 디렉토리의 같은 디렉토리에 inifile을 넣으려고 시도하십시오. 그렇지 않으면 테스트를 위해 프로그램에 connexionstring을 직접 작성하십시오.