當前位置:首頁 » 編程語言 » 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
提交一下。

熱點內容
win7本地服務密碼是什麼 發布:2024-11-06 23:37:45 瀏覽:677
關閉窗口java 發布:2024-11-06 23:37:44 瀏覽:31
php計算字元串長度的函數 發布:2024-11-06 23:35:05 瀏覽:353
小米自製腳本 發布:2024-11-06 23:34:18 瀏覽:314
qq訪問問題 發布:2024-11-06 23:29:20 瀏覽:648
手機郵件接收伺服器怎麼設置 發布:2024-11-06 23:23:35 瀏覽:128
c語言循環例題 發布:2024-11-06 23:05:01 瀏覽:332
外星人m15r6選哪個配置 發布:2024-11-06 23:03:58 瀏覽:999
linuxmysql資料庫安裝 發布:2024-11-06 23:01:28 瀏覽:117
壓縮器能幹嘛 發布:2024-11-06 23:01:16 瀏覽:464