【发布时间】:2017-12-30 06:50:48
【问题描述】:
我正在尝试制作一个示例 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)
我的听众.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 文件。
【问题讨论】:
-
Windows 还是 Linux ?在 Windows(所有版本)上检查防火墙配置并允许 TCP 连接到端口 1521
-
通过 Oracle SQL Developer 或 TOAD 怎么样?在这些工具中成功的连接字符串是什么样的?
-
@krokodilko 我试过但导致同样的错误。
-
请找到
listener.ora文件并将其附加到问题中。您可以在$ORACLE_HOME/network/admin子目录中找到它(例如在我的 PC 上它位于C:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN中)。请同时运行tnsping xe以检查与您的实例的连接性。 -
@krokodilko 请检查我编辑的问题。谢谢你的时间