我想了解如何使用Oracle.DataAccess.dll在.Net中实现OID连接字符串.
OID连接字符串采用以下格式:ldap:// servname:389/instance,cn = OracleContext
当我使用它作为我的数据源时,我收到此错误:..是一个无效的连接字符串属性
连接Oracle OID的格式是什么?
谢谢你,斯科特
Oracle的想法是在TNS Admin目录中的LDAP.ORA文件中配置LDAP服务器(在您的情况下为OID)(通常是$ ORACLE_HOME/network/admin).你有类似的东西:
DIRECTORY_SERVERS = (servname:389)
DEFAULT_ADMIN_CONTEXT = "dc=company,dc=com"
DIRECTORY_SERVER_TYPE = OID
Run Code Online (Sandbox Code Playgroud)
您可能还需要调整SQLNET.ORA文件:
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
Run Code Online (Sandbox Code Playgroud)
然后您的连接字符串只是:
Data Source=instance; User ID=scott; Password=tiger
Run Code Online (Sandbox Code Playgroud)
(甚至没有用户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
Run Code Online (Sandbox Code Playgroud)
EZ使用服务名称连接(请注意服务器名称和服务名称之间的单个slashe):
Data Source=//servername:1521/servicename; User ID=scott; Password=tiger
Run Code Online (Sandbox Code Playgroud)
EZ使用SID连接(请注意服务器名称和SID之间的双斜线):
Data Source=servername:1521//instanceSID; User ID=scott; Password=tiger
Run Code Online (Sandbox Code Playgroud)