Oracle OID-Service, Oracle.DataAccess und Verbindungszeichenfolgen
Frage
Ich bin auf der Suche zu verstehen, wie eine OID-Verbindungszeichenfolge in .Net implementieren, um die Oracle.DataAccess.dll verwendet wird.
Die OID-Verbindungszeichenfolge ist in diesem Format: ldap: // servname: 389 / Beispiel cn = OracleContext
Als ich das als meine Datenquelle verwenden, erhalte ich diesen Fehler: ..ist eine ungültige Verbindungszeichenfolge Attribut
Was ist das Format von Oracle OID verbinden?
Danke, Scott
Lösung 2
Nach fast zwei Jahre lang umgeleitet wird, kam ich zu diesem Thema zurück und Art eine Lösung.
Als erstes Oracle stellt fest, dass die LDAP-Unterstützung nicht in der verwalteten Bibliothek für Oracle unterstützt wird. Boo. http://www.oracle.com/technetwork/database/ Fenster / downloads / odpmbetainstall-1696475.html
Zweitens, indem dieses Thema anschauen: Wie kann ich Abfrage LDAP von C # Oracle TNS Hostnamen aufzulösen, während verwaltet ODP.NET mit?
Ich war auf rig eine LDAP-Suche für die tns Verbindungszeichenfolge der Lage, und dass letztlich auf nhibernate passieren.
ich hoffe, die Oracle unterstützt schließlich ldap.
Andere Tipps
Oracle Idee ist, den LDAP-Server (OID in Ihrem Fall) in der LDAP.ORA Datei im TNS-Admin-Verzeichnis (in der Regel $ ORACLE_HOME / network / admin) zu konfigurieren. Dort haben Sie so etwas wie:
DIRECTORY_SERVERS = (servname:389)
DEFAULT_ADMIN_CONTEXT = "dc=company,dc=com"
DIRECTORY_SERVER_TYPE = OID
Sie können auch müssen die SQLNET.ORA Datei anpassen:
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
Dann Verbindungszeichenfolge ist einfach:
Data Source=instance; User ID=scott; Password=tiger
(oder auch ohne Benutzer-ID und Passwort).
Update:
Wenn Sie nicht das TNS Admin-Verzeichnis ändern können, ist die einzige Option, die ich kenne, ist Verbindungszeichenfolgen verwenden, um alle Details (Servername, Port, SID oder Servicename) enthält. Es gibt drei Formate:
TNS Syntax:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=serername)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=instanceSID))); User ID=scott; Password=tiger
EZ Connect mit einem Service-Namen (man beachte den einzelnen slashe zwischen dem Servernamen und der Dienstnamen):
Data Source=//servername:1521/servicename; User ID=scott; Password=tiger
EZ Connect mit einem SID (man beachte die doppelten Schrägstriche zwischen dem Servernamen und dem SID):
Data Source=servername:1521//instanceSID; User ID=scott; Password=tiger