当前位置:首页 » 编程语言 » sqloracle导入

sqloracle导入

发布时间: 2023-03-09 13:56:22

A. 如何从sql server向oracle导入数据到

有将数据从SQL SERVER导入到ORACLE当中的这种需求,具体方法如下:

1:生成SQL脚本然后去ORACLE数据库执行。

CREATETABLETEST
(
IDINT,
NAMEVARCHAR(12)
)
INSERTINTOdbo.TEST
SELECT1001,'Kerry'UNIONALL
SELECT1002,'Jimmy'UNIONALL
SELECT1003,'Ken'UNIONALL
SELECT1004,'Richard'
SELECT'INSERTINTOTEST'
+'SELECT'+CAST(IDASVARCHAR(12))+'ASID,'''
+NAME+'''FROMDUAL;'
FROMdbo.TEST

优点:还真找不出其优点,仅仅作为一种方法归纳在此。

缺点:操作麻烦,每次操作都要写脚本;数据量大时性能非常糟糕。

适用场景:仅仅使用小表、基础数据表。例如省份表之类。它能做到的,SQL SERVER导入导出工具能比其跟方便、快捷的做到。

2:创建链接服务器链接到ORACLE数据库

创建链接到ORACLE数据库的链接服务器非常简单,在此不做过多描述。一般使用这种方式做数据交互的情况较多。

优点:链接服务器创建好后,可以非常方便的使用SQL导入数据到ORACLE。而且可以反复使用。

缺点:需要安装ORACLE CLIENT客户端,而且ORACLE CLIENT客户端工具安装后必须重启服务器使之生效。效率不是最快的。尤其当导入的数据量非常大时,不推荐使用这种方法。

适用场景:适用于系统经常需要在SQL SERVER与ORACLE之间数据交互的场景,这样就可以方便的利用它来导数,而不用为了导数在服务器上装ORACLE CLIENT客户端工具。尤其适合经常需要数据交互的场景。

B. 怎样将sql文件导入Oracle数据库

登录plsql,x0dx0a文件----新建-----命令窗口x0dx0ax0dx0a然后输入 @文件路径,例如 @c:\a.sqlx0dx0ax0dx0a这样就可以了。直接执行sql文件

C. Oracle-sqlplus导入sql文件

将一张表的数据插入到另一张表insert into table2 select * from table1;如果表不存在可以使用 create table table2 as select * from table1; 但是如果要插入的数据量比较大,用命令好使些。

使用PLSQL Developer导入insert语句,数据量过大会死掉,所以直接使用命令行的方式导入insert语句

 命令行进入sqlplus: sqlplus 用户名/密码@127.0.0.1:1521/tiger ( sqlplus test_name/[email protected]:1521/tiger )

 sql>@full_path/test.sql; 例:sql>@D:/test.sql;

test.sql 里面最后加上一个commit;

--参考http://blog.csdn.net/yin_jw/article/details/38894905

D. sql oracle怎么导入数据

在我们使用SQL Server数据库的过程中,有时需要将SQL Server数据导出,导入到其他的数据库中,比如导入到Oracle中。

假设要将SQL Server中的Northwind数据库中的Procts表导出到Oracle的Scott用户

首先需要有安装SQL Server企业版

1.打开工具:

开始->程序->

导入和SQL Server数据导出数据

2.下一步,选择数据源

[数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。

[服务器]选择要导出数据的服务器,如果是本机,选择(local)

[数据库]选择要导出的数据所在的库,这里选择Northwind

3.下一步,选择目的

[目的]选择Microsoft ODBC for Oracle

[DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。

如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。

接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle

下一步,完成,出现Microsoft ODBC for Oracle安装界面

[数据源名称]随便输入,比如sss

[说明]可以不填

[用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott

[服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。

这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。

[用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott

[密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger

4.下一步,指定表复制或查询

如果要导出的内容是整个表,选择[从源数据库复制表和视图]

如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句

这里选择第一项[从源数据库复制表和视图]

5.下一步,选择源表和视图

点中要导出的表Procts一行的复选框,目的、转换两栏就会出现内容。

目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句

6.下一步,保存、调度和复制包

选中立即运行

7.下一步,正在完成DTS导入/导出向导

8.完成

提示“成功地将n个表从Microsoft SQLServer复制到了Oracle”

9.完成,关闭导入导出程序

注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Procts表在oracle里查询就应该写成select * from scott."Procts";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。

---导完数据后执行下面语句,生成把表名修改成大写的操作

select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper(table_name)||';' from user_tab_comments;

把生成的文件执行即可把此用户下的所有表名修改成大写。

E. oracle导入sql文件

1. 获取帮助

imp help=y
2. 导入一个完整数据库

imp system/manager file=bible_db log=dible_db full=y ignore=y
3. 导入一个或一组指定用户所属的全部表、索引和其他对象

imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4. 将一个用户所属的数据导入另一个用户

imp system/manager file=tank log=tank fromuser=seapark touser=seapark_
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
5. 导入一个表

imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6. 从多个文件导入

imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7. 使用参数文件

imp system/manager parfile=bible_tables.par
bible_tables.par参数文件:

#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_ file=seapark log=seapark_import
8. 增量导入

imp system./manager inctype= RECTORE FULL=Y FILE=A
-------------------------------------------------------------------------------------------------------------------------------------------

1. 获取帮助
exp help=y

2. 导出一个完整数据库
exp system/manager file=bible_db log=dible_db full=y

3. 导出数据库定义而不导出数据
exp system/manager file=bible_db log=dible_db full=y rows=n

4. 导出一个或一组指定用户所属的全部表、索引和其他对象
exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)
注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。

SET LINESIZE 132
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL c:\seapark.syn
SELECT 'Create public synonym '||synonym_name
||' for '||table_owner||'.'||table_name||';'
FROM dba_synonyms
WHERE table_owner = 'SEAPARK' AND owner = 'PUBLIC';
SPOOL OFF

5. 导出一个或多个指定表
exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)

6. 估计导出文件的大小
全部表总字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE segment_type = 'TABLE';

seapark用户所属表的总字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE owner = 'SEAPARK'
AND segment_type = 'TABLE';

seapark用户下的aquatic_animal表的字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE owner = 'SEAPARK'
AND segment_type = 'TABLE'
AND segment_name = 'AQUATIC_ANIMAL';

7. 导出表数据的子集(oracle8i以上)
NT系统:

exp system/manager query='Where salad_type='FRUIT'' tables=amy.salad_type
file=fruit log=fruit
UNIX系统:

exp system/manager query=\"Where salad_type=\'FRUIT\'\" tables=amy.salad_type
file=fruit log=fruit

8. 用多个文件分割一个导出文件
exp system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G tables=hr.paycheck

9. 使用参数文件
exp system/manager parfile=bible_tables.par
bible_tables.par参数文件:

#Export the sample tables used for the Oracle8i Database Administrator's Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)

10. 增量导出
“完全”增量导出(complete),即备份整个数据库
exp system/manager inctype=complete file=990702.dmp
“增量型”增量导出(incremental),即备份上一次备份后改变的数据
exp system/manager inctype=incremental file=990702.dmp
“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据
exp system/manager inctype=cumulative file=990702.dmp

imp boss/boss@scott file=jkluio.dmp log=jkluio.log fromuser=boss touser=boss commit=y;

exp boss/123qwe!@CBGLDB file=boss.dmp log=boss.log owner=boss;

F. 请问如何在oracle中导入.sql文件

向oracle中导入大sql文件:
在sql_plus里面执行:
sql>@full_path/test.sql;
例:sql>@d:/test.sql;
不需要commit;
一般都是在test.sql
里面最后加上一个commit;
但是需要注意的是:在test.sql文件里面每条语句后必须加上“;”,代表一条语句的执行。

G. sql文件怎么导入到Oracle数据库

sql文件怎么导入到oracle数据库
把那两个.sql文件用记事本打开,里面全都是一些sql语句。把这些sql语句都复制下来,粘贴到sql
developer
或dos中,就可以了。记住最后尽量commit
提交一下。

热点内容
看本子压缩器 发布:2024-11-06 21:34:33 浏览:967
md5加密算法代码 发布:2024-11-06 21:31:01 浏览:162
tpshop商城源码 发布:2024-11-06 21:30:45 浏览:843
单本小说网站源码 发布:2024-11-06 21:11:17 浏览:546
mtp缓存 发布:2024-11-06 21:06:43 浏览:21
P40存储卡 发布:2024-11-06 21:02:15 浏览:921
大容量铁电存储器 发布:2024-11-06 21:02:12 浏览:451
淘宝课脚本 发布:2024-11-06 21:00:41 浏览:688
网络机柜和服务器柜有什么不同 发布:2024-11-06 20:50:11 浏览:965
战地5如何查看所有服务器 发布:2024-11-06 20:46:42 浏览:654