2012-03-27 7 views
0

Ich habe meine tns-Verbindung in die .ora-Datei eingefügt und kann nun mit SQL plus dazu conenct und kann es anpingen: tnsping myConn.vb.net Oracle-Verbindung mit TNS-Name?

Ich habe auch die Verbindung zum ODBC-Manager hinzugefügt und erfolgreich Verbindung hergestellt, wenn Verbindung über das ODBC-Tool getestet wird.

jetzt ich habe ein Problem eine Verbindung zu ihm machen vb.net mit

habe ich versucht, die folgenden:

oODBCConnection = New Odbc.OdbcConnection(connStr) 
      oODBCConnection.Open() 

wo mein connStr ist:

Data Source=tns.dev;User Id=MyUser;Password=MyPass; 

per: http://www.connectionstrings.com/oracle und http://www.shabdar.org/c-sharp/101-connect-to-oracle-using-asp-net-and-csharp.html

was mache ich falsch? es sagt mir ich muss einen Treiber angeben, wie mache ich das?

Vielen Dank!

der Fehler ich erhalte ist:

ERROR [IM002] [Microsoft] [ODBC Driver Manager] Der Datenquellenname nicht gefunden und kein Standardtreiber angegeben

Antwort

0

OdbcConnection nicht korrekt war.

Lösung:

Dim myConnection As OleDbConnection 
    Dim myCommand As OleDbCommand 
    Dim myConnection As New OracleConnection(connStr) 
      myConnection.Open() 
0

Das ist nicht ein Orakel Fehler ist - es klingt wie Sie nicht ein System dsn erstellt haben. Dieser Code sieht so aus, als erwarte er einen DSN mit dem Namen tns.dev.

Das sagte, ich würde odbc nicht verwenden, wenn ich es helfen könnte. Sie könnten für .net bei Oracle Data Provider aussehen wollen

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

0

Ive in Vb.net den folgenden Code unter Verwendung von

Dim conn As New Odbc.OdbcConnection 
Dim cmd As New Odbc.OdbcCommand 
Dim drResult As Odbc.OdbcDataReader 
Dim connString As String 
Dim QuerySQL As String 

connString = "Driver={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS= (PROTOCOL=TCP)(HOST=ORACLEDB01)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORACLE_INSTANCE_NAME)));Uid=john;Pwd=mypassword;" 
QuerySQL = "select first_name, last_name from employees where id = 28" 

conn.ConnectionString = connString 
conn.Open() 
cmd.Connection = conn 
cmd.CommandText = QuerySQL 
drResult = cmd.ExecuteReader() 

While drResult.Read 
    TextBox1.Text = TextBox1.Text & drResult("last_name") & ", " & drResult("first_name") & Environment.Newline 
End While 
drResult.Close()