SQL Developer操作系统身份验证 [英] SQL Developer OS authentication
问题描述
我具有包含JDK8的Oracle SQL Developer版本4.1.19(64位).
I have Oracle SQL Developer version 4.1.19 (64 bit) with JDK8 included.
这适用于需要使用{username,password}组合的Oracle连接-在那里没有问题.
This is working for Oracle connections which require a {username, password} combination - no problem there.
我的问题是我无法使用OS身份验证配置进行连接.
My issue is that I cannot connect with an OS Authentication configuration.
请注意,我可以使用 sqlplus/@ MY_TNS_NAME 从命令行通过操作系统身份验证进行连接,
Please note that I can connect from the command line with OS authentication by using sqlplus /@MY_TNS_NAME and this works fine.
我已将SQL Developer应用程序配置为使用OCI/Thick驱动程序,并且还使用x64 12.1.0.2.0基本即时客户端.这个似乎可以配置好,因为如果我选中 Help-> About-Properties ,则sqldeveloper.oci.available的值为"true".
I have the SQL Developer application configured to use the OCI/Thick driver and also to use the x64 12.1.0.2.0 basic instant client. This seems to be configured ok in that if I check Help->About-Properties then sqldeveloper.oci.available has the value "true".
但是,每次我测试连接时,都会收到失败消息 "ORA-01017:无效的用户名/密码;登录被拒绝"
However, each time that I test the connection I receive the failure message "ORA-01017: invalid username/password; logon denied"
我的操作系统是Windows 7 Enterprise x64 SP1
My OS is Windows 7 Enterprise x64 SP1
我显然已经选中了"OS Authentication"选项:).
I have obviously checked the option "OS Authentication" :).
是否需要更改/检查其他任何配置才能使SQL Developer允许我通过OS身份验证进行连接? (更改身份验证类型不是我的选择.)
Is there any other configuration that I need to change/check in order to get SQL Developer to allow me to connect via OS Authentication? (Changing the authentication type is not an option for me).
谢谢.
推荐答案
出现了同样的问题.原因是SQL Developer的轻量级JDBC不支持扩展身份验证.相反,SQL * Plus是针对本机驱动程序编译的,因此它没有问题.
Had the same issue. The cause is that SQL Developer's lightweight JDBC does not support extended authentication. SQL*Plus, to the contrary, is compiled against native driver, that's why it has no problem.
解决方案:,在SQL Developer中,进入
Solution: in SQL Developer, go
Tools -> Preferences -> Database -> Advanced Parameters
如果已经检查了Use Oracle Client
,则只需检查Use OCI/Thick driver
.就这样.如果不是,请首先检查Use Oracle Client
,然后指定驱动程序路径.想法来自此处
If you have Use Oracle Client
already checked, just check Use OCI/Thick driver
. That's all. If not, check Use Oracle Client
first, and specify driver path. Idea was taken from here
谈到客户端,Oracle允许创建一个版本库.如果选择工作客户端时遇到问题,最干净的选择是使用SQL * Plus所在的路径.只需从末尾剥离\bin
,并确保其CPU架构与SQL Developer匹配即可.
Speaking about clients, Oracle allows to have a zoo of versions. If you have problems selecting working client, the cleanest option would be to use path where your SQL*Plus resides. Just strip \bin
from its end, and make sure its CPU architecture matches SQL Developer.
这篇关于SQL Developer操作系统身份验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!