Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#应用程序中,使用ODP.NET托管驱动程序Beta(Oracle.ManagedDataAccess.dll)进行LDAP查找失败_C#_Oracle_Ldap_Odp.net_Data Access - Fatal编程技术网

在C#应用程序中,使用ODP.NET托管驱动程序Beta(Oracle.ManagedDataAccess.dll)进行LDAP查找失败

在C#应用程序中,使用ODP.NET托管驱动程序Beta(Oracle.ManagedDataAccess.dll)进行LDAP查找失败,c#,oracle,ldap,odp.net,data-access,C#,Oracle,Ldap,Odp.net,Data Access,我在C#应用程序中使用(Oracle.ManagedDataAccess.dll)访问Oracle数据库。这将使用ODP.NET的本机版本进行替换,以删除Oracle Client 10g/11g/etc上的所有本地依赖项,从而无需在本地安装。这是我找到的解决方案 这是我的C#代码: 到达此行后,成功创建了OracleConnection对象,从而表明所有依赖项都已成功加载。但是,它在调用Open()时抛出OracleException。错误消息是: 网络传输:无法解析连接主机名 我的组织使用L

我在C#应用程序中使用(Oracle.ManagedDataAccess.dll)访问Oracle数据库。这将使用ODP.NET的本机版本进行替换,以删除Oracle Client 10g/11g/etc上的所有本地依赖项,从而无需在本地安装。这是我找到的解决方案

这是我的C#代码:

到达此行后,成功创建了
OracleConnection
对象,从而表明所有依赖项都已成功加载。但是,它在调用
Open()
时抛出OracleException。错误消息是:

网络传输:无法解析连接主机名

我的组织使用LDAP执行主机名查找,这是通过使用目录\服务器设置的ORA文件完成的。然而,我很难使用ODP.NET的托管版本来实现这一点。ORA文件存储在C:\Apps\oracle\network\admin中

我的数据源('ABCDEFG1')上的tnsping工作正常。因此,我使用了tnsping的输出,并使用此输出在tnsnames.ora中为ABCDEFG1添加了一个条目。然后,我的应用程序成功连接。因此,我知道它肯定在查找和使用ORA文件,但由于某些原因,它不会执行非托管ODP.NET(在其他应用程序中)使用的LDAP查找

使用过这个新的托管ODP.NET的人知道这个问题吗?或者我可能做错了什么?

我问了同样的问题,那里的人提出了一个解决方案。托管ODP.NET似乎不支持LDAP,这在其内部

不过,我确实有一个追随者,如果有人能进一步帮助我回答这个问题,我会很高兴


非常感谢。

以下链接表明ODP.NET托管驱动程序现在支持LDAP:
new OracleConnection("Data Source=ABCDEFG1;User Id=myuserid;Password=mypassword;").Open();