[英]Connection to Oracle Database with Java
我无法连接到Oracle database server
。 这是代码:
import java.util.*;
import java.sql.*;
import java.io.IOException;
public class Knigi {
public static void main(String[] args) {
String baza_DRIVER="oracle.jdbc.driver.OracleDriver";
String baza_STRING="jdbc:oracle:thin:@localhost:1521:";
String baza_USERNAME="knigi";
String baza_PASSWORD="knigi";
Locale.setDefault(Locale.ENGLISH); // Vazhno e bidejkji Oracle treba da znae kakvi poraki da pojavuva
try {
Driver Driver = (Driver)Class.forName(baza_DRIVER).newInstance();
Connection Conn = DriverManager.getConnection(baza_STRING,baza_USERNAME,baza_PASSWORD);
PreparedStatement Statement = Conn.prepareStatement("SELECT * FROM zhanrovi");
ResultSet zhanrovi = Statement.executeQuery();
boolean isEmpty = !zhanrovi.next();
boolean hasData = !isEmpty;
while (hasData) {
System.out.println("Zhanr: "+zhanrovi.getString("ZH_IME"));
PreparedStatement Statement2 =
Conn.prepareStatement("select * from knigi where ZH_BR = ?");
Statement2.setInt(1,zhanrovi.getInt("ZH_BR"));
ResultSet knigi = Statement2.executeQuery();
boolean isEmpty2 = !knigi.next();
boolean hasData2 = !isEmpty2;
if (isEmpty2) {
System.out.println(" - nema knigi");
} else {
System.out.println(" - Knigi:");
};
while (hasData2) {
System.out.println(
" " +
knigi.getString("ISBN") +
" - " +
knigi.getString("NASLOV")+" ");
hasData2=knigi.next();
}
knigi.close();
hasData=zhanrovi.next();
}
zhanrovi.close();
Conn.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
我收到此消息:
java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12504)(ERROR_STACK=(ERROR=(CODE=12504)(EMFI=4))(ERROR=(CODE=12504)(EMFI=4))))
在学校中,此示例有效。 问题出在哪儿??
您的数据库服务器是否在本地计算机上运行:localhost:1521?
您的学校计算机上可能正在运行数据库服务器,但您的家庭计算机根本没有。
数据库连接URL“ jdbc:oracle:thin:@localhost:1521:”通常不是硬编码的。 当您在另一台计算机上运行代码时,将其指向localhost几乎总是会使它失败。
试试这个,可能有帮助
jdbc:oracle:thin://<host>:<port>/<SERVICE_NAME>
service_name =数据库的SID,通常是ORCL。
干杯,
当您收到此类“连接拒绝”错误时,主要发生在三种情况
您可以手动尝试从命令行连接到数据库,并查看连接是否处于活动状态。
问题已经关闭...由于我的教职员工服务器已关闭教职员工网络外部的连接,因此我不得不进行隧道传输,他们还告诉我密码已更改.... btw tnx,他们为我提供了帮助连接到我的本地服务器并访问我的本地数据库。
再次感谢同伴^ _ ^
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.