java连接数据库密码错误_如果密码有特殊字符,则无法使用JDBC连接到oracle数据库...

以下是代码::

public class OraclePwdTest {

static{

try {

Class.forName("oracle.jdbc.OracleDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

String ip ="192.168.20.145";

String sid = "oradg";

int port = 1521;

String user = "sys";

String pwd = "[email protected]";

Connection conn = null;

String url = "jdbc:oracle:thin:"+"(DESCRIPTION =" +

"(ADDRESS_LIST =" +

"(ADDRESS = (PROTOCOL = TCP)(HOST = "+ ip +")" +

"(PORT = " + port + "))" +

")" +

"(CONNECT_DATA = (SRVR=DEDICATED) " +

"(SID = " + sid +

"))" +

")";

java.util.Properties prop = new java.util.Properties();

prop.put ("user", user);

prop.put ("password", pwd);

prop.put ("internal_logon", "sysdba");

try {

conn = DriverManager.getConnection(url,prop);

System.out.println("Connected");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

如果密码是,如#@特殊字符...那么上面的代码不起作用。它使用简单的密码。

我得到以下错误消息::

值java.sql.SQLException:ORA-01017:无效的用户名/密码;登录被拒绝

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382)

at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:573)

at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)

at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366)

at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:752)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:366)

at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:536)

at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:228)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)

at java.sql.DriverManager.getConnection(DriverManager.java:582)

at java.sql.DriverManager.getConnection(DriverManager.java:154)

at TestOracleConnection.main(TestOracleConnection.java:54)

请帮我解决问题。

2014-02-20

Anjali

+0

只是一个方面说明:你为什么要作为应用程序代码中的SYSDBA进行连接。这听起来像一个可怕的想法。 –

+0

no..with sqlplus也没有工作.. –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值