我使用Netbeans IDE和Java和jdbc在本地连接到Oracle数据库(即数据库和程序存储在同一台计算机上)
但我想通过存储在不同计算机上的程序访问数据库。
如何做到这一点以及需要什么额外的软件以及DriverManager.getConnection()
我当前的DriverManager.getConnection
是这样的......
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE",condb.usrnm,condb.psswrd);
答案 0 :(得分:0)
尝试将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
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连接字符串更改更多。
答案 1 :(得分:0)
您应该指定目标计算机的正确IP地址:
Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@ipOfTargetPc:1521:XE", condb.usrnm, condb.psswrd);
您可以在目标计算机中ping并获取IP地址。