我正在尝试制作一个示例JDBC程序,我必须创建表格,但我正面临这个问题我尝试了很多解决方案存在于网上所有我必须知道服务缺失但是做了找不到确切的解决方案我是JDBC的初学者,任何帮助都将不胜感激。
我的JDBC程序: -
import java.sql.*;
public class JdbcExample {
/**
* @param args
* @throws ClassNotFoundException
* @throws SQLException
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
String userName="system",password="admin",url="jdbc:oracle:thin:localhost:1521:xe";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, userName, password);
System.out.println(con);
Statement stmt = con.createStatement();
System.out.println(stmt);
int b = stmt.executeUpdate("create table emp(eno number(5),name varchar2(20));");
System.out.println("Table Created" + b);
// if(b)
// {
//
// }
// else
// System.out.print("WTF");
}
我的LogCat: -
java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at JdbcExample.main(JdbcExample.java:19)
我的listener.ora
SID_LIST_LISTENER = (SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = J:\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = J:\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
))LISTENER =(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
))DEFAULT_SERVICE_LISTENER = (XE)
先谢谢。 注意:我在buildconfig中包含了ojdbc14_g.jar文件。
答案 0 :(得分:0)
尝试更改:
"jdbc:oracle:thin:localhost:1521:xe"
为:
"jdbc:oracle:thin:@//localhost:1521/XE"
答案 1 :(得分:0)
尝试从以下内容更改JDBC连接字符串:
"jdbc:oracle:thin:localhost:1521:xe"
以下内容:
"jdbc:oracle:thin:@localhost:1521:xe"
您需要根据SID或服务名称的使用情况了解何时使用:
和/
INSTANCE SID by ":"
jdbc:oracle:thin:@localhost:1521:SID
SERVICE NAME by "/"
jdbc:oracle:thin:@localhost:1521/SERVICE_NAME
希望这有帮助!