我正在使用Netbeans IDE和Java以及jdbc在本地连接到Oracle数据库(即数据库和程序存储在同一台计算机上)
但是我想通过存储在不同计算机上的程序访问数据库。
如何做到这一点以及需要哪些额外的软件以及DriverManager.getConnection()
的URL应该是什么
我现在的DriverManager.getConnection
是这样的。
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE",condb.usrnm,condb.psswrd);
您应该指定目标计算机的正确 IP 地址:
Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@ipOfTargetPc:1521:XE", condb.usrnm, condb.psswrd);
您可以在目标计算机中执行 ping 操作并获取 IP 地址。
localhost
更改为数据库服务器的主机名或IP地址。在下面的示例中,我已更改为 server.remote.net
.
DriverManager.getConnection("jdbc:oracle:thin:@server.remote.net:1521:XE",condb.usrnm,condb.psswrd);
然后注意端口,我假设您的服务器正在侦听端口1521
。因为1521是Oracle服务器的标准端口。
之后,您必须确保与服务器有网络连接。有很多方法可以做到这一点。按照@YCF_L的建议,您可以ping服务器:
ping server.remote.net
或远程登录
telnet server.remote.net 1521
您必须注意的另一件重要事情是 jdbc 连接字符串中的 XE
关键字。哪个是甲骨文实例名称。您的远程服务器可以具有名称不同的 Oracle 实例COMPANY_DATA
这意味着连接字符串可能会更改为:
DriverManager.getConnection("jdbc:oracle:thin:@server.remote.net:1521:COMPANY_DATA",condb.usrnm,condb.psswrd);
另一方面,在远程计算机上可能有不同的数据库引擎。像MySql,MS SQL Server,Postgres等。在这种情况下,jdbc 连接字符串更改更多。