Question

Je cherche à comprendre comment mettre en œuvre une chaîne de connexion OID en .Net utilisant le Oracle.DataAccess.dll.

La chaîne de connexion OID est dans ce format: ldap: // NomServeur: 389 / instance, cn = OracleContext

Quand j'utilise cela comme ma source de données, je reçois cette erreur: ..est un attribut de chaîne de connexion non valide

Quel est le format de se connecter au OID Oracle?

Merci, Scott

Était-ce utile?

La solution 2

Après avoir été détourné pendant près de deux ans, je suis revenu à cette question et sorte d'avoir une solution.

Tout d'abord, les notes Oracle que le soutien ldap est pas pris en charge dans la bibliothèque gérée pour Oracle. Huer. http://www.oracle.com/technetwork/database/ windows / téléchargements / odpmbetainstall-1696475.html

En second lieu, en utilisant ce fil: Comment faire une requête LDAP de C # pour résoudre le nom d'hôte Oracle TNS en utilisant ODP.NET géré?

J'ai pu monter une recherche ldap pour la chaîne de connexion de tns, et passe finalement que sur NHibernate.

J'espère que l'Oracle soutient finalement ldap.

Autres conseils

L'idée d'Oracle est de configurer le serveur LDAP (OID dans votre cas) dans le fichier LDAP.ORA dans le répertoire TNS Admin (généralement $ ORACLE_HOME / network / admin). Là, vous avez quelque chose comme:

DIRECTORY_SERVERS = (servname:389)
DEFAULT_ADMIN_CONTEXT = "dc=company,dc=com"
DIRECTORY_SERVER_TYPE = OID

Vous pourriez avoir besoin aussi d'adapter le fichier SQLNET.ORA:

NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)

Ensuite, votre chaîne de connexion est juste:

Data Source=instance; User ID=scott; Password=tiger

(ou même sans nom d'utilisateur et mot de passe).

Mise à jour:

Si vous ne pouvez pas changer le répertoire TNS Admin, la seule option que je connaisse est d'utiliser des chaînes de connexion contenant tous les détails (nom du serveur, le port, SID ou nom de service). Il existe trois formats:

TNS syntaxe:

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 avec un nom de service (notez le slashe unique entre le nom du serveur et le nom du service):

Data Source=//servername:1521/servicename; User ID=scott; Password=tiger

EZ Connect avec un SID (notez les doubles barres obliques entre le nom du serveur et le SID):

Data Source=servername:1521//instanceSID; User ID=scott; Password=tiger
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top