Search the Community
Showing results for tags 'oracle odbc ole ado'.
-
Hi I am revisiting Autoit after a year hiatus and would like some help, I am trying to connect to my Oracle 11g server 'DVA' so that I can remotely create user accounts from AutoIT. I have searched for connections to Oracle but seem to be going in circles, admittedly I am not a big fan of COM and ADO objects and dont fully understand them. I have gotten the code below from the forums but I cannot get it to work for me, please see error below the code. I have a local Oracle client installed and have also created a DSN connection as a backup. Any help would be greatly appreciated #include <GUIConstants.au3> Dim $oMyError ; Initializes COM handler $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") $ado = ObjCreate( "ADODB.Connection" ) ; Create a COM ADODB Object with the Beta version With $ado ; 'Set data source - for OLEDB this is a tns alias, for ODBC it can be 'either a tns alias or a DSN. ; If "provider" is used this means that the ODBC connections is used via DSN. ; if Driver is used = "Driver={Microsoft ODBC for Oracle};Server=TNSnames_ora;Uid=demo;Pwd=demo;" then this is a DSN Less connector ; More Info for Oracle MS KB Q193332 .ConnectionString =("Provider='OraOLEDB.Oracle';Data Source='DVA';User Id='system';Password='mypass';") ;.ConnectionString =("Driver={Microsoft ODBC for Oracle};Server=DVA;Uid=system;Pwd=mypass;") .Open EndWith $adors = ObjCreate( "ADODB.RecordSet" ) ; Create a Record Set to handles SQL Records With $adors .ActiveConnection = $ado ;.CursorLocation = "adUseClient" ;.LockType = "adLockReadOnly" ; Set ODBC connection read only .Source = "SELECT * FROM emp WHERE Upper (NAME) LIKE 'SAM%';" .Open EndWith While not $adors.EOF For $i = 0 To $adors.Fields.Count - 1 ConsoleWrite( $adors.Fields( $i ).Value & @TAB ) ; Columns in the AutoIt console use Column Name or Index Next ConsoleWrite(@CR) $adors.MoveNext ; Go to the next record WEnd ; This COM error Handler Func MyErrFunc() $HexNumber=hex($oMyError.number,8) Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _ "err.description is: " & @TAB & $oMyError.description & @CRLF & _ "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _ "err.number is: " & @TAB & $HexNumber & @CRLF & _ "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _ "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _ "err.source is: " & @TAB & $oMyError.source & @CRLF & _ "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _ "err.helpcontext is: " & @TAB & $oMyError.helpcontext _ ) SetError(1) ; to check for after this function returns Endfunc