我正在尝试通过简单的JDBC连接到远程数据库,但我正在下面
import java.sql.*;
import oracle.jdbc.*;
import java.io.*;
import oracle.jdbc.pool.OracleDataSource;
public class JDBC {
public static void main (String args []) throws SQLException {
try
{
//Connecting to Oracle server
OracleDataSource ds = new oracle.jdbc.pool.OracleDataSource();
ds.setURL("jdbc:oracle:thin:@remotehostname:1521:dbname");
Connection conn = ds.getConnection("my username", "my password");
System.out.println("Connected to DB");
}
catch (SQLException ex) { System.out.println ("\n*** SQLException
caught ***\n" + ex.getMessage());}
catch (Exception e) {System.out.println ("\n*** other Exception caught ***\n");}
}
}
代码:
moltiply :: QT a -> Int -> QT a
我添加了ojdbc6.jar和所有支持jar来构建路径。我能够通过VPN连接到远程,但不能通过JDBC连接到任何指南...
答案 0 :(得分:1)
来自docs.oracle.com 如果客户端版本未达到或超过SQLNET.ALLOWED_LOGON_VERSION_SERVER参数(sqlnet.ora文件)定义的值,则身份验证将失败并显示ORA-28040:没有匹配的身份验证协议错误或ORA-03134:此服务器版本的连接是不再支持错误。
您可以使用以下命令
检查您的驱动程序版本$java -jar ojdbc6.jar -getversion
尝试在sqlnet.ora文件中设置SQLNET.ALLOWED_LOGON_VERSION_SERVER以降低Oracle版本,如8,9或10。
查看此issue了解详情。