2016-05-18 19 views
0

私は、パスワードを必要とするが空のユーザー名のサーバーに(JDBC経由で)接続しようとしています。私は、空の文字列(「」)を使用しようとすると、エラーが発生します。私は使用していますJDBCはパスワードで接続しますが、ユーザー名はありませんか?

java.sql.SQLException: invalid arguments in call

コードは(ユーザー名とパスワードが必要です)別のサーバーに接続するために働いていたので、それは動作可能です。この特定の場合(空文字列のユーザー名)ではなく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; 
} 
+0

この接続を試みました= ds.getConnection(null、new String(passwordField.getPassword())); –

+0

あなたのケースでどのユーザーのパスワードを検証するべきかサーバーがどのように判断するべきですか? –

+0

@PankajSabooはい、もう一度やり直してみてください。同じエラー。 "java.sql.SQLException:呼び出しで無効な引数" – inappropriateCode

答えて

0

DriverManagerインターフェイスで接続しようとしましたか? propsは、ユーザ名のいずれかのエントリを持っていない

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

関連する問題