Ich muss eine Verbindung zu einem Oracle-Server im Netzwerk mit einer .NET/C# (Winform) -Anwendung. Ich versuche System.Data.OracleClient
aber vergeblich zu verwenden.Verbinden mit einem Remote Oracle 11g Server mit OracleClient von .NET 2.0
Hier sind die Details, die ich vielleicht denken kann (dass jemand helfen könnte, diese Frage zu lesen):
Plattform: Visual Studio 2005/.NET 2.0 mit C# auf Windows Vista Home Premium
Library: System.Data.OracleClient
Server: Oracle 11g (befindet sich auf dem gleichen LAN)
Bitte beachten sie, dass ich nicht haben Oracle lokal installiert und ich habe jede Diskussionsforum möglich Hilfe gejagt - aber die meisten von ihnen als Sum lokale Oracle-Installation!
Hier ist meine Verbindungszeichenfolge:
"User Id=TSUSER;Password=ts12TS;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=
MyServerIP)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));
"
Und ich bekomme diese Fehlermeldung:
OCIEnvCreate failed with return code -1 but error message text was not available.
Stapelüberwachung:
at System.Data.OracleClient.OciHandle..ctor(OciHandle parentHandle, HTYPE handleType, MODE ocimode, HANDLEFLAG handleflags) at System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName) at System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions) at System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OracleClient.OracleConnection.Open() at DGKit.Util.DataUtil.Generate() in D:\SVNRoot\sandbox\DGDev\Util\DataUtil.cs:line 68
Zusätzlich zu OracleClient von Microsoft (von dem ich glaube, dass Oracle 11g nicht unterstützt), habe ich auch mit MSDAORA und Odbc/Oledb versucht - es hat nicht funktioniert. Ich habe auch ODP.NET (ODAC 11.2) von Oracle Website heruntergeladen. Die Dokumentation von ODP.NET sagt mir, dass ich eine lokale Oracle Installation haben muss. Gibt es eine Möglichkeit, eine Verbindung zu einem Remote-Oracle-Server (im LAN natürlich) mit .NET/C# herzustellen? –
Was ist die Lösung, die Sie gefunden haben, die funktioniert ?! –
Ich endete mit einem ODP.NET Beta-Treiber für 32-Bit (Version 2.112.1.1) "Oracle.DataAccess.dll". Das funktioniert für _me_, aber ich bezweifle, dass es 1: 1 für dich arbeiten wird. Probieren Sie einfach verschiedene Versionen aus, bis alles wie erwartet funktioniert. –