【问题标题】:JDBC connect with password but no username?JDBC连接密码但没有用户名?
【发布时间】: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


【解决方案1】:

您是否尝试过通过 DriverManager 接口进行连接?

Connection conn = DriverManager.getConnection(url, props);

props 没有任何用户名条目。

【讨论】:

    猜你喜欢
    • 2011-07-29
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 2011-04-15
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多