Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将一台电脑上的Oracle 11g数据库提供给另一台电脑_Java_Jdbc_Oracle11g - Fatal编程技术网

Java 如何将一台电脑上的Oracle 11g数据库提供给另一台电脑

Java 如何将一台电脑上的Oracle 11g数据库提供给另一台电脑,java,jdbc,oracle11g,Java,Jdbc,Oracle11g,我已经使用Oracle11g中的数据库表创建了一个JavaEclipse应用程序。它可以很好地工作,但只能在我的本地pc上。我如何才能使这些表在另一台pc上工作?也许我得把它们放在应用程序文件夹里?应用程序通过JDBC连接器与数据库连接 连接逻辑如下: try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { System.out.println("Un

我已经使用Oracle11g中的数据库表创建了一个JavaEclipse应用程序。它可以很好地工作,但只能在我的本地pc上。我如何才能使这些表在另一台pc上工作?也许我得把它们放在应用程序文件夹里?应用程序通过JDBC连接器与数据库连接

连接逻辑如下:

try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (ClassNotFoundException e) {
    System.out.println("Unable to load the driver class!");
}
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "system";
String password = "xxxxpw";
Connection connection = null;
try {
    connection = DriverManager.getConnection(url, user, password);
    System.out.println("Connection succeed!!");
}
catch (SQLException e) {
    System.out.println("Couldn't take connection!");
} 

Export
DB schema和
seed
将您的数据导入另一台PC,您就可以开始了。

Oracle 11g有两种选择,Oracle 11g有另一种选择

第一种方法是使用您的PC或其他PC作为数据库主机,并让应用程序的任何其他实例引用该数据库主机上的数据库。这可能需要更改JDBC连接以指定主机所在的位置,并且根据您的环境,可能需要解决一些其他问题。请参阅下面的简短讨论

第二种方法是在运行应用程序的每台PC上复制数据库。这需要在每台电脑上安装Oracle 11g,然后将电脑上的数据库复制到另一台电脑上。请参阅

第三种选择是将数据库引擎更改为SQLite,它使用一个或多个文件,以便轻松复制。请看一看以下几个问题的答案

关于Oracle 11g共享数据库的第一个选项,您需要考虑的运行时环境问题。 您需要某种方式来指定与运行数据库的PC或服务器的JDBC连接。这涉及到PC的目录查找、您的环境是否具有固定IP地址以及设备使用您的应用程序的移动方式。防火墙也可以阻止连接

查看连接字符串逻辑后,如果要在特定电脑上托管数据库,则需要电脑的主机名或电脑的IP地址(请参阅其中提供的一些连接字符串及其格式示例)

在连接字符串中,
localhost
的服务器名称是运行应用程序的PC。因此,如果您使用该连接字符串移动应用程序,那么在移动到的PC上运行应用程序将使应用程序在该PC上查找Oracle 11g数据库引擎和数据库

因此,您需要将
localhost
更改为使用Oracle 11g数据库的PC的主机名,或者需要将
localhost
更改为运行数据库的PC的IP地址


看起来您还需要在主机名的开头添加
/

Oracle数据库服务器在哪里运行?A你说的“将表格放入应用程序文件夹”是什么意思?这些表位于数据库中,而不是某个文件夹中(当然,除非它们实际上不是数据库表,而是转储文件、从表中创建的csv文件或其他什么?oracle数据库在我的本地pc中运行。是的,这些表驻留在db中,而不是任何其他文件夹中。只是猜测一下,但是您是否将JDBC连接配置为使用127.0.0.1或localhost作为db地址?如果是,请将其替换为。)您的计算机的外部地址。您知道如何使用ip(我的电脑的ip)设置为jdbc吗?@grlouk,请使用用于打开数据库连接的源代码行更新您的问题,其中显示
getConnection()
逻辑,以便我们可以看到您在做什么。请尝试{Class.forName(“oracle.jdbc.driver.OracleDriver”);}catch(ClassNotFoundException e){System.out.println(“无法加载驱动程序类!”;}String url=“jdbc:oracle:thin:@localhost:1521:xe”;String user=“System”;String password=“vertigo1321993”;Connection Connection=null;尝试{Connection=DriverManager.getConnection(url、用户、密码);System.out.println(“连接成功!!”);}catch(SQLException e){System.out.println(“无法连接!”);}