gpt4 book ai didi

java - 无法通过 JDBC 连接到 Oracle 11g

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:04 25 4
gpt4 key购买 nike

我正在尝试将 JSF 应用程序连接到 Oracle 11g 数据库。不久前,我有一个 JSF 应用程序以类似的方式与 Derby 数据库连接。大约在同一时间,我能够通过我编写的 Java 程序连接到 Oracle 11g 数据库。

我尝试将代码移植到最近的项目中,虽然一切看起来都正确,但代码中的连接返回 null。

为了进一步解决这个问题,当我尝试调试时,NetBeans 似乎锁定了。我假设它会使用运行 GlassFish 4 的端口,但不知何故无法判断其已被占用。

感谢任何帮助;如果我可以提供我不知何故忽略的更多信息,请告诉我。

代码片段如下:

@ManagedBean(name="OracleBean")
@RequestScoped
public class OracleBean {

private String driver = "oracle.jdbc.driver.OracleDriver";
private String url = "jdbc:oracle:thin:@localhost:8081:xe";
private String dbName = "test";
private String dbUsername = "Username";
private String dbPassword = "password";
private Connection connect = null;

private OracleMethods Method;

/**
* Creates a new instance of DataBean
*/
public OracleBean() {
driver = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@localhost:8081:xe";
dbName = "Test";
dbUsername = "Username";
dbPassword = "password";
connect = null;

Method = new OracleMethods();
}

public String getColorData(String rowID, int col) {
connect = Method.getConnection(driver, url, dbName, dbUsername, dbPassword);

if (connect == null) {
return "SQL Error";
}

//Bean代码结束

public class OracleMethods extends JPanel {

private Connection connect = null;

public OracleMethods() {}

public Connection getConnection(String driver, String url, String dbName, String dbUsername, String dbPassword) {
try {
Class.forName(driver).newInstance();
connect = DriverManager.getConnection((url + dbName), dbUsername, dbPassword);
} catch (Exception lex) {
lex.printStackTrace();
}
return connect;
}

最佳答案

如上所述 - 您确定数据库运行在端口 8081 上,而不是标准的 1521 端口上。也是 url 中的 dbname Test 或 XE。如果您有标准设置,我怀疑它是 xe。

假设您有 oracle 驱动程序 jar 作为外部库,以下内容将为您提供连接

connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "your_user", "your_password");

关于java - 无法通过 JDBC 连接到 Oracle 11g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27948669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com