.net 甲骨文';s OID服务、Oracle.DataAccess和连接字符串
我希望了解如何使用Oracle.DataAccess.dll在.Net中实现OID连接字符串 OID连接字符串的格式如下: ldap://servname:389/instance,cn=OracleContext 当我将其用作数据源时,收到以下错误:…是无效的连接字符串属性 连接到Oracle的OID的格式是什么 谢谢,,.net 甲骨文';s OID服务、Oracle.DataAccess和连接字符串,.net,oracle,oid,.net,Oracle,Oid,我希望了解如何使用Oracle.DataAccess.dll在.Net中实现OID连接字符串 OID连接字符串的格式如下: ldap://servname:389/instance,cn=OracleContext 当我将其用作数据源时,收到以下错误:…是无效的连接字符串属性 连接到Oracle的OID的格式是什么 谢谢,, ScottOracle的想法是在TNS Admin目录(通常为$Oracle_HOME/network/Admin)中的LDAP.ORA文件中配置LDAP服务器(本例中为O
ScottOracle的想法是在TNS Admin目录(通常为$Oracle_HOME/network/Admin)中的LDAP.ORA文件中配置LDAP服务器(本例中为OID)。这里有一些类似的东西:
DIRECTORY_SERVERS = (servname:389)
DEFAULT_ADMIN_CONTEXT = "dc=company,dc=com"
DIRECTORY_SERVER_TYPE = OID
您可能还需要调整SQLNET.ORA文件:
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
那么您的连接字符串就是:
Data Source=instance; User ID=scott; Password=tiger
(甚至没有用户ID和密码)
更新:
如果无法更改TNS Admin目录,我知道的唯一选项是使用包含所有详细信息(服务器名称、端口、SID或服务名称)的连接字符串。有三种格式:
TNS语法:
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使用服务名称连接(注意服务器名称和服务名称之间的单个斜杠):
EZ使用SID连接(注意服务器名称和SID之间的双斜线):
在被转移注意力将近两年后,我回到这个问题上,找到了一个解决办法 首先,Oracle注意到,Oracle托管库中不支持ldap支持。嘘 第二,使用此线程: 我能够为tns连接字符串装配ldap查找,并最终将其传递给nhibernate
我希望Oracle最终支持ldap 谢谢你的回复。我同意这是可行的。在共享Web服务器环境中,我无法接触TNSNAMES文件或SQLNET.ORA文件,我需要通过连接字符串指定要连接到OID。这可能吗?我从未听说或见过OID的无配置连接字符串。唯一没有配置的连接字符串是TNS语法或EZ Connect(见上文)。您的“希望”已被授予-LDAP现在由ODP.NET托管驱动程序支持-现在,如果我能弄清楚如何使用它的话。;-)似乎是这样,除非您连接的帐户是在OID中管理的:(
Data Source=//servername:1521/servicename; User ID=scott; Password=tiger
Data Source=servername:1521//instanceSID; User ID=scott; Password=tiger