Java 如何将一台电脑上的Oracle 11g数据库提供给另一台电脑
我已经使用Oracle11g中的数据库表创建了一个JavaEclipse应用程序。它可以很好地工作,但只能在我的本地pc上。我如何才能使这些表在另一台pc上工作?也许我得把它们放在应用程序文件夹里?应用程序通过JDBC连接器与数据库连接 连接逻辑如下: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
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(“无法连接!”);}