Visual Studio 2015添加连接对话框不会将LDAP作为连接类型

时间:2016-01-22 19:14:03

标签: oracle visual-studio

我正在尝试使用visual studio 2015中的服务器资源管理器连接到oracle数据库。每次尝试通过“添加连接”对话框创建新连接时,“连接类型:”前面的下拉菜单(在对话框)只给我TNS和EZConnect选项。没有列出通过LDAP连接到Oracle的选项。我被要求只通过LDAP连接(没有TNS或EZCOnnect)。

我的sqlnet.ora文件包含这些内容

SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME, LDAP)

在其中。

ldap.ora有这些内容

DEFAULT_ADMIN_CONTEXT = "dc=something1,dc=something2,dc=com" 
DIRECTORY_SERVERS= (x.y.net:somenumber:somenumber,a.b.c.net:somenumber:somenumber,p.q.r.net:somenumber:somenumber)
DIRECTORY_SERVER_TYPE = OID
实际上,我将这些文件复制到默认情况下tns.ora文件所在的位置(如果我在“添加连接”对话框中选择tns作为连接类型,那就是当我了解tns文件的默认位置时)。

我不确定是否需要通过在web.config文件中添加某种配置来通过LDAP连接到Oracle。如果是这样,那么我如何连接到oracle(使用服务器资源管理器,记住没有TNS或EZConnect)并使用Visual Studio UI在数据库中创建表。我不应该使用任何其他工具来创建除Visual Studio UI之外的表(用于在使用服务器资源管理器建立与数据库的连接之后创建所有数据库对象的UI)。

另一件我完全困惑的事情是在“数据源:”下的对话框中排名第一,我看到它写的是“Oracle数据库(ODP.NET,托管驱动程序)”和右边的更改按钮Visual Studio如何知道odp.net驱动程序在机器上的位置(因此在单击更改按钮时会在下拉菜单中显示)。但是,我安装了unpatled odp.net unamanged和托管驱动程序(均为32)我已经在项目中多次打开了“添加连接”对话框。即使我卸载了所有版本的非托管/托管驱动程序并单击了更改按钮,我仍然可以看到Oracle数据库(ODP.NET) ,托管驱动程序)在下拉列表中,由于所有odp.net托管或非托管驱动程序都已卸载,这是怎么回事。

让我了解这一切变得很麻烦。任何帮助将受到高度赞赏。

注意:我在Visual Studio中使用nuget包管理器控制台安装和卸载了odp.net驱动程序。

1 个答案:

答案 0 :(得分:0)

我假设TNSEZConnect只定义了类型连接字符串,但它没有告诉您如何解析您的TNS名称。它可以通过tnsnames.ora文件或LDAP服务器来解决。如今,ONAMES已不再使用了。

您是否定义了环境变量TNS_ADMIN? ODP.NET托管驱动程序不会读取通常定义TNS_ADMIN的注册表。

使用工具gacutil.exe检查GAC(全局程序集缓存)是否看到任何Oracle.ManagedDataAccess.dll。也许Uninstaller没有从那里删除它。

您是否尝试按代码连接到数据库,而不是单击对话框?