人乳奶水videos喷奶水,亚洲一区二区三区在线观看成人av,成人影,久久久蜜臀国产一区二区,免费观看一区,麻豆xxxhd

怎么將mysql里面的text類型導(dǎo)入到oracle的clob類型

首頁 > 身份戶籍2021-02-02 07:41:43

mysql中的longblob類型如何轉(zhuǎn)換成blob或者clob,然后抽取到oracle中?

blob存儲的是二進(jìn)制,而clob存儲的是字符類型,除非你blob字段里存儲的數(shù)據(jù)可以轉(zhuǎn)換為字符類型,否則是沒法轉(zhuǎn)換的,肯定會報(bào)錯(cuò)!
blob存儲的是二進(jìn)制,而clob存儲的是字符類型,除非你blob字段里存儲的數(shù)據(jù)可以轉(zhuǎn)換為字符類型,否則是沒法轉(zhuǎn)換的,肯定會報(bào)錯(cuò)!

MYSQL 轉(zhuǎn) ORACLE CLOB類型

現(xiàn)在有一個(gè)MySQL的表,其中一個(gè)字段類型是longtext。rn在Oracle 中有一個(gè)相同的表,對應(yīng)這個(gè)字段的類型是CLOB。rn兩種數(shù)據(jù)庫之之間建立了一個(gè)dblink,oracle可以通過dblink訪問mysql對應(yīng)表的數(shù)據(jù)。rn現(xiàn)在要在存儲過程使用dblink把數(shù)據(jù)導(dǎo)入到Oracle中,求大神幫忙。rnrn下面是基本的存儲過程,請幫忙改造下面的存儲過程。可以導(dǎo)CLOB的(mysql中,CODE字段是longtext類型)rnrn--t_businessarea_enterpriserndeclarern type ty_data is table of t_businessarea_enterprise%rowtype; rn ty_1 ty_data; rnbeginrn execute immediate x27select * from "t_businessarea_enterprise"@gjswebln x27 bulk collect into ty_1;rn -- 整體執(zhí)行rn forall i in 1.. ty_1.count rn insert into t_businessarea_enterprise (enterprise_id,code)rn values (ty_1(i).enterprise_id,ty_1(i).code);rn commit;rnexception rn when others then rn dbms_output.put_line(sqlerrm); -- 打印錯(cuò)誤rnend;rn/rnrn報(bào)錯(cuò)信息:rnORA-22992: 無法使用從遠(yuǎn)程表選擇的 LOB 定位符
MYSQL中用LOGTEXT表示oracle中的CLOB類型。
Oracle
CLOB
Oracle 9i 及以前,最大4G字符數(shù)據(jù) Oracle10g 最大4G*數(shù)據(jù)庫塊大小的字符數(shù)據(jù)

MySQL
LONGTEXT
最大長回度為4,294,967,295或4GB(232–1)字符的答TEXT列。LONGTEXT列的最大有效(允許的)長度取決于客戶端/服務(wù)器協(xié)議中配置最大包大小和可用的內(nèi)存。

LONGBLOB
最大長度為4,294,967,295或4GB(232–1)字節(jié)的BLOB列。LONGBLOB列的最大有效(允許的)長度取決于客戶端/服務(wù)器協(xié)議中配置最大包大小和可用的內(nèi)存。
在oracle端創(chuàng)建一個(gè)同樣schema的臨時(shí)表,使用dblink將數(shù)據(jù)插入臨時(shí)表(insert into xxx value select,然后再從臨時(shí)表查詢出來插入你的目標(biāo)表
declare
type ty_data is table of t_businessarea_enterprise%rowtype;
ty_1 ty_data;
begin
execute immediate 'select * from "t_businessarea_enterprise"@復(fù)gjswebln ' bulk collect into ty_1;
-- 整體制執(zhí)行
forall i in 1.. ty_1.count
insert into t_businessarea_enterprise (enterprise_id,code)
values (ty_1(i).enterprise_id,ty_1(i).code);
commit;
exception
when others then
dbms_output.put_line(sqlerrm); -- 打印錯(cuò)誤
end;
/
請問問題解決了嗎?

如何將MySql數(shù)據(jù)導(dǎo)入至Oracle中

您好,很高興為您解答。
一、將表中數(shù)據(jù)導(dǎo)入文本文件保存
我是在WIN下的命令行模式做的
Mysql>select * from my_mysql_table into outfile 'c: /my_tmp.txt';
二、寫控制文件
用記事本開文檔寫完后改擴(kuò)展名為.ctl,以下是具體內(nèi)容
load data
infile 'c:/my_tmp.txt'
into table my_ora_table
replace
fields terminated by x'09'
(字段1,字段2,字段3,......字段N)
字段1~N是你要導(dǎo)入的MySql的表字段數(shù)據(jù),不需要的字段可以不寫。
三、用Sqlldr導(dǎo)入文本
c:\>sqlldr ora_usr
回車后輸入控制文件的路徑,密碼,接下來加載控制文件自動(dòng)導(dǎo)入。導(dǎo)入完成后,會生成個(gè).log文件,可以查看你導(dǎo)入是否成功,不成功按提示的錯(cuò)誤查找原因。
注意的是:導(dǎo)入文本前,應(yīng)在ORACLE數(shù)據(jù)庫中事先建好要寫入數(shù)據(jù)的表,并且要和所要導(dǎo)入的數(shù)據(jù)字段一致,如果不知MySql的表結(jié)構(gòu),可以在Mysql>show create table my_mysql_table;查看建表的SQL,將其轉(zhuǎn)換成Oracle中可執(zhí)行的SQL.
|用sqlldr從mysql導(dǎo)出一個(gè)表的數(shù)據(jù)到oracle中:
操作步驟:
1、進(jìn)入mysql
mysql> select UUID, CYC_CODE, b03_05, b03_06, b03_07, b03_08, b03_09, b03_10, b03_11, b03_12, Cate_Item_Code, product_name, product_unit
from jb603_jb603_sub3 into outfile 'd:/tmp/603sub.txt';
Query OK, 79537 rows affected (0.48 sec)
mysql> show create table jb603_jb603_sub3;
| jb603_jb603_sub3 | CREATE TABLE `jb603_jb603_sub3` (
`UUID` varchar(32) NOT NULL default '',
`CYC_CODE` char(2) NOT NULL default '',
`b03_05` decimal(11,2) default '0.00',
`b03_06` decimal(11,2) default '0.00',
`b03_07` decimal(11,2) default '0.00',
`b03_08` decimal(11,2) default '0.00',
`b03_09` decimal(9,0) default '0',
`b03_10` decimal(11,2) default '0.00',
`b03_11` decimal(11,2) default '0.00',
`b03_12` decimal(11,2) default '0.00',
`Cate_Item_Code` varchar(7) NOT NULL default '',
`product_name` varchar(60) default '',
`product_unit` varchar(20) default '',
PRIMARY KEY (`UUID`,`CYC_CODE`,`Cate_Item_Code`)
) TYPE=InnoDB |
2、將語句整理成oracle支持的格式:
CREATE TABLE jb603_jb603_sub3 (
UUID varchar(32) NOT NULL ,
CYC_CODE char(2) NOT NULL ,
b03_05 number(11,2) ,
b03_06 number(11,2) ,
b03_07 number(11,2) ,
b03_08 number(11,2) ,
b03_09 number(9,0) ,
b03_10 number(11,2) ,
b03_11 number(11,2) ,
b03_12 number(11,2) ,
Cate_Item_Code varchar(7) NOT NULL ,
product_name varchar(60) ,
product_unit varchar(20) ,
PRIMARY KEY (UUID,CYC_CODE,Cate_Item_Code));
3、編寫sqlldr控制文件t.ctl
load data
infile 'd:/tmp/603sub.txt'
into table jb603_jb603_sub3
replace
fields terminated by x'09'
(UUID, CYC_CODE, b03_05, b03_06, b03_07, b03_08, b03_09, b03_10, b03_11, b03_12, Cate_Item_Code, product_name, product_unit)
3運(yùn)行sqlplus /nolog
SQL> conn [email protected]
建立jb603_jb603_sub3表
SQL> CREATE TABLE jb603_jb603_sub3 (
2 UUID varchar(32) NOT NULL ,
3 CYC_CODE char(2) NOT NULL ,
4 b03_05 number(11,2) ,
5 b03_06 number(11,2) ,
6 b03_07 number(11,2) ,
7 b03_08 number(11,2) ,
8 b03_09 number(9,0) ,
9 b03_10 number(11,2) ,
10 b03_11 number(11,2) ,
11 b03_12 number(11,2) ,
12 Cate_Item_Code varchar(7) NOT NULL ,
13 product_name varchar(60) ,
14 product_unit varchar(20) ,
15 PRIMARY KEY (UUID,CYC_CODE,Cate_Item_Code));
表已創(chuàng)建。
5、ho進(jìn)入操作系統(tǒng)命令行
在操作系統(tǒng)命令行運(yùn)行sqlldr [email protected] d:/tmp/t.ctl
提交導(dǎo)入腳本,邏輯記錄計(jì)數(shù)79537
6、exit回到sqlplus查詢導(dǎo)入結(jié)果
SQL> select count(*)from JB603_JB603_SUB3;
COUNT(*)
----------
79537
一、創(chuàng)建jack表,并導(dǎo)入一下數(shù)據(jù)
mysql> create table jack(id char(100),flwo char(100)) engine=myisam;
Query OK, 0 rows affected (0.08 sec)

mysql> load data infile '/u01/sqlload/taobao_9_11.txt' into table jack fields terminated by ',';
Query OK, 1469199 rows affected (20.09 sec)
Records: 1469199 Deleted: 0 Skipped: 0 Warnings: 0

mysql> select * from jack limit 10;
+-------------+--------+
| id | flwo |
+-------------+--------+
| 13400017749 | 4594 |
| 13400087049 | 5044 |
| 13400826615 | 83029 |
| 13400977755 | 22505 |
| 13401509025 | 2671 |
| 13401584949 | 10435 |
| 13402065168 | 111061 |
| 13402077444 | 2525 |
| 13402133742 | 13204 |
| 13402156116 | 1935 |
+-------------+--------+
10 rows in set (0.01 sec)

二、將jack表的內(nèi)容導(dǎo)入到txt文本中
mysql> select * from jack into outfile '/mysql/mysql5.5/load/data.txt' fields terminated by ',';
ERROR 1 (HY000): Can't create/write to file '/mysql/mysql5.5/load/data.txt' (Errcode: 13)
mysql> select * from jack into outfile '/mysql/mysql5.5/load/data.txt' fields terminated by ',';
Query OK, 1469199 rows affected (22.34 sec)

mysql> select count(*) from jack;
+----------+
| count(*) |
+----------+
| 1469199 |
+----------+
row in set (0.09 sec)
三、修改data.txt的屬主
[[email protected] load]# chown oracle:oinstall data.txt
[[email protected] load]# more data.txt
13400017749,4594
13400087049,5044
13400826615,83029
13400977755,22505
13401509025,2671
四、將data.txt導(dǎo)入到oracle表mysql中
[[email protected] ~]$ cd /u01/sqlload/
[[email protected] sqlload]$ cat mysql.ctl
load data
infile '/mysql/mysql5.5/load/data.txt'
append into table mysql
trailing nullcols
( id char terminated by ',',
flow char terminated by whitespace)
[[email protected] sqlload]$ sqlldr jack/jack control='mysql.ctl' log=input.log direct=true
SQL*Loader: Release 11.2.0.1.0 - Production on 星期一 9月 23 15:15:57 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
加載完成 - 邏輯記錄計(jì)數(shù) 1469199。
五、驗(yàn)證
SQL> select count(*) from mysql;

COUNT(*)
----------

SQL> select * from mysql where rownum < 10;

ID FLOW
---------- ----------
1.3400E+10 4594
1.3400E+10 5044
1.3401E+10 83029
1.3401E+10 22505
1.3402E+10 2671
1.3402E+10 10435
1.3402E+10 111061
1.3402E+10 2525
1.3402E+10 13204

已選擇9行。
寫個(gè)小程序好了。

oracle clob類型相當(dāng)于mysql中的什么類型

Oracle

CLOB  

Oracle 9i 及以前,最大4G字符數(shù)據(jù)  Oracle10g 最大4G*數(shù)據(jù)庫塊大小的字符數(shù)據(jù)  

MySQL

LONGTEXT

最大長度為4,294,967,295或4GB(232–版1)字符的TEXT列。LONGTEXT列的最大有效權(quán)(允許的)長度取決

于客戶端/服務(wù)器協(xié)議中配置最大包大小和可用的內(nèi)存。

LONGBLOB

最大長度為4,294,967,295或4GB(232–1)字節(jié)的BLOB列。LONGBLOB列的最大有效(允許的)長度取

決于客戶端/服務(wù)器協(xié)議中配置最大包大小和可用的內(nèi)存。

Oracle

CLOB
Oracle 9i 及以前,最大4G字符數(shù)內(nèi)據(jù) Oracle10g 最大4G*數(shù)據(jù)庫塊大小的字符數(shù)據(jù)

MySQL

LONGTEXT
最大長容度為4,294,967,295或4GB(232–1)字符的TEXT列。LONGTEXT列的最大有效(允許的)長度取決于客戶端/服務(wù)器協(xié)議中配置最大包大小和可用的內(nèi)存。

LONGBLOB
最大長度為4,294,967,295或4GB(232–1)字節(jié)的BLOB列。LONGBLOB列的最大有效(允許的)長度取決于客戶端/服務(wù)器協(xié)議中配置最大包大小和可用的內(nèi)存。
相當(dāng)于mysql中的blob類型,一樓說的long text是存字符的
blob類型
BLOB類型

如何將varchar超過4000個(gè)字符 插入到oracle clob類型中

LOB ("TXT") STORE AS (... ENABLE STORAGE IN ROW ...
這控制了 LOB 數(shù)據(jù)是否總與表分開存儲(存儲在 lobsegment 中),或是有時(shí)可以回與表一同存儲,答
而不用單獨(dú)放在 lobsegment 中。如果設(shè)置了 ENABLE STORAGE IN ROW,而不是 DISABLE STORAGE
IN ROW,小LOB(最多 4,000 字節(jié))就會像 VARCHAR2 一樣存儲在表本身中。只有當(dāng) LOB 超過了 4,000
字節(jié)時(shí),才會“移出”到 lobsegment 中。

相關(guān)推薦:

刑事涉外程序(涉外刑事案件審理流程)

委托公證錯(cuò)誤賠償(房屋公證人需要承擔(dān)什么責(zé)任)

強(qiáng)制執(zhí)行賠償(民事賠償強(qiáng)制執(zhí)行期限)

拆遷賠償城市戶口(城市戶口可以享受農(nóng)村拆遷補(bǔ)償嗎)

刑事處罰算前科嗎(坐牢5年出來還算有前科嗎)

熱門標(biāo)簽