【发布时间】:2016-09-14 18:02:20
【问题描述】:
我正在尝试连接到需要密码但用户名空白的服务器(通过 JDBC)。当我尝试使用空字符串 ("") 时,会导致错误:
java.sql.SQLException:调用中的参数无效
我使用的代码可以连接到另一个服务器(需要用户名和密码),所以它是可操作的;只是在这种特定情况下(空字符串用户名)。我还可以通过 SQLDeveloper 访问不需要用户名的特定服务器的连接,这样就不会脱机或无法访问。在 SQLDeveloper 中,我可以毫无意外地输入一个空的用户名字段。
根据我的阅读,可以使用用户名和密码连接 JDBC,也可以不使用。但我找不到空白用户名的解决方案。必须有一种解决问题的方法。
private Connection getConnection() throws SQLException
{
OracleDataSource ds = new OracleDataSource();
ds.setURL("jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid);
System.out.println("attempting connection");
connection = ds.getConnection(textFieldUsername.getText(), new String(passwordField.getPassword()));
System.out.println("connection established");
return connection;
}
【问题讨论】:
-
你试过这个连接吗 = ds.getConnection(null, new String(passwordField.getPassword()));
-
在您的情况下,服务器应如何确定应验证哪个用户的密码?
-
@PankajSaboo 是的,只是再次尝试确定。同样的错误。 “java.sql.SQLException:调用中的参数无效”
-
@RafaelOsipov 连接到使用组共享连接进行访问的服务器;在这种情况下,它似乎没有进行太多验证,并且用户名/密码详细信息在相关开发人员之间共享。
-
“我使用的代码可以连接到另一台服务器” - 也没有用户名?然后比较我要说的两台服务器的用户/安全设置。
标签: java oracle jdbc database-connection