|  
                                             Hallo, 
  
mit ODBC ist alles okay, doch ich möchte den Querie mit der OLEDB laufen lassen, da dort die Fehler besser beantwortert werden. 
Doch alle Queries, selbst "select sysdate from dual;" kommt vom mit: "ORA-00933: SQL-Befehl wurde nicht korrekt beendet from: OraOLEDB" zurück. 
Wenn im folgendem Querrie die fette Zeile auskommentiert wird, kommt der ODBC-Treiber zum Einsatz mit der Zeile der oleDB Treiber. 
  
Warum kommt es bei oleDB dazu das der Querie nicht richtig beendet wird? 
Mit kein; und doppeltem;; und auch mit / und vbLf & vbCR in vielen Kombinationern habe ich es schon probiert. 
  
Danke! 
  
Gruß 
Richi 
  
P.S.: Hier der VBA code: 
Option Explicit 
Public con_tns As ADODB.Connection  
…. 
Dim rs As New ADODB.Recordset 
Dim cmd As New ADODB.Command 
…. 
Set con_tns = New ADODB.Connection 
con_tns.Provider = "OraOLEDB.Oracle" 
con_tns.Properties.Item("Data Source") = “myDB” 
con_tns.Properties.Item("User ID") = "myID" 
con_tns.Properties.Item("Password") = "myPSW" 
cmd.ActiveConnection = con_tns 
cmd.CommandText = ‘select sysdate from dual;’ 
Set rs = cmd.Execute 
….. 
End sub 
errHandler: 
Dim errLoop As ADODB.Error 
Dim Errs As ADODB.Errors 
Dim I As Integer 
Set Errs = con_tns.Errors 
Debug.print ("*** VBA-Error: " & Err.Description & " Source: " & Err.Source) 
On Error Resume Next 
I = 1 
For Each errLoop In Errs 
         With errLoop 
            Debug.print ("***ADO Error #: " & I & ": ADO ErrNo: " & .Number & ": " + .Description & " from: " & .Source) 
            I = I + 1 
         End With 
Next 
     |