如何写一个复制oracle数据库复制表表数据到postgresql的java程序

在Java程序中使用PostgreSQL之前,我们需要确保在机器上安装了PostgreSQL JDBC和Java。 您可以在机器上检查是否正确安装了Java:。 现在我们来看一下如何设置PostgreSQL JDBC驱动。
从存储库下载最新版本的postgresql-(VERSION).jdbc.jar。
在类路径中添加下载的jar文件postgresql-(VERSION).jdbc.jar,或者您可以使用-classpath选项,如下面的例子所述。
Java连接到PostgreSQL数据库以下Java代码显示如何连接到现有数据库。 如果数据库不存在,那么它将被创建,最后将返回一个数据库对象。
import java.sql.C
import java.sql.DriverM
public class PostgreSQLJDBC {
public static void main(String args[]) {
Connection c =
Class.forName(&org.postgresql.Driver&);
c = DriverManager
.getConnection(&jdbc:postgresql://localhost:5432/testdb&,
&postgres&, &123&);
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName()+&: &+e.getMessage());
System.exit(0);
System.out.println(&Opened database successfully&);
在编译并运行上述程序之前,请在PostgreSQL安装目录中找到pg_hba.conf文件并添加以下行:
# IPv4 local connections:
127.0.0.1/32
您可以启动/重新启动postgres服务器,使用以下命令运行:
[root@host]# service postgresql restart
Stopping postgresql service:
Starting postgresql service:
现在,我们来编译并运行上面的程序来获得与testdb的连接。 在这里使用用户ID为postgres和密码为123来访问数据库。 您可以根据数据库配置和设置进行更改。 我们还假定当前版本的JDBC驱动程序postgresql-9.2-1002.jdbc3.jar在当前路径中(c:\tools\)可用。
C:\JavaPostgresIntegration&javac PostgreSQLJDBC.java
C:\JavaPostgresIntegration&java -cp c:\tools\postgresql-9.2-1002.jdbc3.C:\JavaPostgresIntegration PostgreSQLJDBC
Open database successfully
创建表以下Java程序将用于在之前打开的数据库中创建一个表。确保目标数据库中没有此表。
import java.sql.*;
import java.sql.C
import java.sql.DriverM
import java.sql.S
public class PostgreSQLJDBC {
public static void main( String args[] )
Connection c =
Statement stmt =
Class.forName(&org.postgresql.Driver&);
c = DriverManager
.getConnection(&jdbc:postgresql://localhost:5432/testdb&,
&manisha&, &123&);
System.out.println(&Opened database successfully&);
stmt = c.createStatement();
String sql = &CREATE TABLE COMPANY & +
&(ID INT PRIMARY KEY
NOT NULL,& +
NOT NULL, & +
NOT NULL, & +
CHAR(50), & +
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+&: &+ e.getMessage() );
System.exit(0);
System.out.println(&Table created successfully&);
编译和执行程序时,将在testdb数据库中创建COMPANY表,并显示以下两行:
Opened database successfully
Table created successfully
插入数据操作以下Java程序显示了如何在上述示例中创建的COMPANY表中创建/插入数据记录:
import java.sql.C
import java.sql.DriverM
import java.sql.S
public class PostgreSQLJDBC {
public static void main(String args[]) {
Connection c =
Statement stmt =
Class.forName(&org.postgresql.Driver&);
c = DriverManager
.getConnection(&jdbc:postgresql://localhost:5432/testdb&,
&manisha&, &123&);
c.setAutoCommit(false);
System.out.println(&Opened database successfully&);
stmt = c.createStatement();
String sql = &INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) &
+ &VALUES (1, 'Paul', 32, 'California', 20000.00 );&;
stmt.executeUpdate(sql);
sql = &INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) &
+ &VALUES (2, 'Allen', 25, 'Texas', 15000.00 );&;
stmt.executeUpdate(sql);
sql = &INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) &
+ &VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );&;
stmt.executeUpdate(sql);
sql = &INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) &
+ &VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );&;
stmt.executeUpdate(sql);
stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println( e.getClass().getName()+&: &+ e.getMessage() );
System.exit(0);
System.out.println(&Records created successfully&);
程序编译执行后,将在COMPANY表中创建/插入给定的记录,并显示以下两行:
Opened database successfully
Records created successfully
SELECT操作以下Java程序显示了如何从上述示例中创建的COMPANY表中获取和显示记录:
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
public class PostgreSQLJDBC {
public static void main( String args[] )
Connection c =
Statement stmt =
Class.forName(&org.postgresql.Driver&);
c = DriverManager
.getConnection(&jdbc:postgresql://localhost:5432/testdb&,
&manisha&, &123&);
c.setAutoCommit(false);
System.out.println(&Opened database successfully&);
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery( &SELECT * FROM COMPANY;& );
while ( rs.next() ) {
int id = rs.getInt(&id&);
name = rs.getString(&name&);
= rs.getInt(&age&);
address = rs.getString(&address&);
float salary = rs.getFloat(&salary&);
System.out.println( &ID = & + id );
System.out.println( &NAME = & + name );
System.out.println( &AGE = & + age );
System.out.println( &ADDRESS = & + address );
System.out.println( &SALARY = & + salary );
System.out.println();
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+&: &+ e.getMessage() );
System.exit(0);
System.out.println(&Operation done successfully&);
程序编译执行时,会产生以下结果:
Opened database successfully
NAME = Paul
ADDRESS = California
SALARY = 20000.0
NAME = Allen
ADDRESS = Texas
SALARY = 15000.0
NAME = Teddy
ADDRESS = Norway
SALARY = 20000.0
NAME = Mark
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully
更新操作以下Java代码显示了如何使用UPDATE语句来更新指定记录,然后从COMPANY表中获取和显示更新的记录:
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
public class PostgreSQLJDBC {
public static void main( String args[] )
Connection c =
Statement stmt =
Class.forName(&org.postgresql.Driver&);
c = DriverManager
.getConnection(&jdbc:postgresql://localhost:5432/testdb&,
&manisha&, &123&);
c.setAutoCommit(false);
System.out.println(&Opened database successfully&);
stmt = c.createStatement();
String sql = &UPDATE COMPANY set SALARY = 25000.00 where ID=1;&;
stmt.executeUpdate(sql);
c.commit();
ResultSet rs = stmt.executeQuery( &SELECT * FROM COMPANY;& );
while ( rs.next() ) {
int id = rs.getInt(&id&);
name = rs.getString(&name&);
= rs.getInt(&age&);
address = rs.getString(&address&);
float salary = rs.getFloat(&salary&);
System.out.println( &ID = & + id );
System.out.println( &NAME = & + name );
System.out.println( &AGE = & + age );
System.out.println( &ADDRESS = & + address );
System.out.println( &SALARY = & + salary );
System.out.println();
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+&: &+ e.getMessage() );
System.exit(0);
System.out.println(&Operation done successfully&);
程序编译执行时,会产生以下结果:
Opened database successfully
NAME = Allen
ADDRESS = Texas
SALARY = 15000.0
NAME = Teddy
ADDRESS = Norway
SALARY = 20000.0
NAME = Mark
ADDRESS = Rich-Mond
SALARY = 65000.0
NAME = Paul
ADDRESS = California
SALARY = 25000.0
Operation done successfully
删除操作以下Java代码显示了如何使用DELETE语句删除指定记录,然后从COMPANY表中获取并显示剩余的记录:
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
public class PostgreSQLJDBC6 {
public static void main( String args[] )
Connection c =
Statement stmt =
Class.forName(&org.postgresql.Driver&);
c = DriverManager
.getConnection(&jdbc:postgresql://localhost:5432/testdb&,
&manisha&, &123&);
c.setAutoCommit(false);
System.out.println(&Opened database successfully&);
stmt = c.createStatement();
String sql = &DELETE from COMPANY where ID=2;&;
stmt.executeUpdate(sql);
c.commit();
ResultSet rs = stmt.executeQuery( &SELECT * FROM COMPANY;& );
while ( rs.next() ) {
int id = rs.getInt(&id&);
name = rs.getString(&name&);
= rs.getInt(&age&);
address = rs.getString(&address&);
float salary = rs.getFloat(&salary&);
System.out.println( &ID = & + id );
System.out.println( &NAME = & + name );
System.out.println( &AGE = & + age );
System.out.println( &ADDRESS = & + address );
System.out.println( &SALARY = & + salary );
System.out.println();
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+&: &+ e.getMessage() );
System.exit(0);
System.out.println(&Operation done successfully&);
程序编译执行时,会产生以下结果:
Opened database successfully
NAME = Teddy
ADDRESS = Norway
SALARY = 20000.0
NAME = Mark
ADDRESS = Rich-Mond
SALARY = 65000.0
NAME = Paul
ADDRESS = California
SALARY = 25000.0
Operation done successfully
本站所有代码下载:请扫描本页面底部(右侧)二维码并关注微信公众号,回复:"代码下载" 获取。
上一篇:下一篇:oracle同一数据库中怎样将一个用户下的表导入或复制到另一个用户中2C**oracle同一数据库中怎样将一个用户下的表导入或复制到另一个用户中**oracle把一个用户的表数据复制到另一个用户ora
oracle同一数据库中怎样将一个用户下的表导入或复制到另一个 用户中
** oracle同一数据库中怎样将一个用户下的表导入或复制到另一个 用户中**
解决方案二:
exp owner=a
imp fromuser=a touser=b
解决方案三:
exp file=路径 full=y owner=用户1 imp fromuser=a touser=用户2
【云栖快讯】数据库技术天团集体亮相,分享一线生产实践经验,告诉你踩过的坑、走过的路,都是老司机,靠谱!干货分享,不可错过!&&
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供17:19 提问
怎么把sql文件导入postgresql数据库
我这里有个*.sql文件 想把他导入到PostgreSQL数据库中 ,我是新手 什么都不懂
请知道的朋友 帮助帮助我
请解答的时候详细点 我很笨 谢谢~~
按赞数排序
直接把语句复制进去里面执行就好了
1、安装postgresql
yum install postgresql postgresql-server
mysql占用端口3306 pgsql是5432
2、导入整个数据库
psql -U postgres(用户名) 数据库名(缺省时同用户名) & /data/dum.sql
3、导出整个数据库
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) &/data/dum.sql
4、导出某个表
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) &/data/dum.sql
5、压缩方法
一般用dump导出数据会比较大,推荐使用xz压缩
压缩方法 xz dum.sql 会生成 dum.sql.xz 的文件
6、xz压缩数据倒数数据库方法
xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
在pgAdmin的窗口中,直接打开SQL文件然后执行就可以了。
最简单的是命令行管道
psql -Uuser -d dbname & sql.txt
其他相似问题 上传我的文档
 下载
 收藏
一线资深高中语文老师,研究并擅长高中语文阅读及作文教学
 下载此文档
正在努力加载中...
ORACLE到POSTGRES的数据库迁移
下载积分:1700
内容提示:ORACLE到POSTGRES的数据库迁移
文档格式:PDF|
浏览次数:38|
上传日期: 22:13:03|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1700 积分
下载此文档
该用户还上传了这些文档
ORACLE到POSTGRES的数据库迁移
官方公共微信}

我要回帖

更多关于 oracle复制一个数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信