最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程記錄

 更新時(shí)間:2023年05月11日 09:33:32   作者:巴拿巴與保羅  
DBeaver是一款跨平臺(tái)的通用數(shù)據(jù)庫開源管理工具,支持 MySQL,PostgreSQL,Oracle,DB2,MSSQL,Sybase,Mimer,HSQLDB,Derby以及其他兼容JDBC的數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于Dbeaver做數(shù)據(jù)遷移的詳細(xì)過程,需要的朋友可以參考下

1、選擇源頭數(shù)據(jù)庫的表、鼠標(biāo)右擊、選擇導(dǎo)出數(shù)據(jù)

2、在數(shù)據(jù)轉(zhuǎn)化彈框中,雙擊 ‘數(shù)據(jù)庫,數(shù)據(jù)表’ 那一欄

3、選擇目標(biāo)數(shù)據(jù)庫,調(diào)整字段類型映射關(guān)系

4、調(diào)整字段的映射關(guān)系

        目前遇到的字段類型,只有 int,bigint   轉(zhuǎn)  number  類型

        再就是VARCHAR2 長度不夠的,加長度,超過4000的就改為clob類型

5、勾選‘打開新連接’,‘選擇行計(jì)數(shù)’

6、點(diǎn)擊開始

7、注意事項(xiàng)

        A、如果是Oracle轉(zhuǎn)Oracle,同類型的數(shù)據(jù)庫遷移,就不用管字段類型的映射關(guān)系了

        B、如果字段的映射不對(duì)就會(huì)報(bào)錯(cuò),或者表創(chuàng)建了,但數(shù)據(jù)沒有進(jìn)去

        C、遇到的字段類型,只有 int,bigint   轉(zhuǎn)  number  類型

        D、有些字段遷移后會(huì)變成小寫,需要后面手動(dòng)調(diào)整

                        可以用SQL查詢出所有的小寫字段

select column_name,table_name from user_tab_columns where regexp_like(column_name,'[a-z]'); 

        E、VARCHAR2(200)  類型可能存在 實(shí)際長度大于限制長度的問題,會(huì)報(bào)錯(cuò)出來

                超過4000的長度,可以改為  clob 類型

        F、VARCHAR2 類型如果沒有限制長度,會(huì)報(bào)錯(cuò):“缺少括號(hào)”,加就可以了 VARCHAR2(200) 

        G、數(shù)據(jù)遷移后,對(duì)比兩個(gè)數(shù)據(jù)庫表的數(shù)量,可以使用SQL查詢數(shù)量

        H、表遷移后,發(fā)現(xiàn)索引都沒有遷移

                導(dǎo)致登錄的時(shí)候報(bào)錯(cuò): 

                        java.lang.IllegalArgumentException: obj is null

                處理方式:遷移索引后,問題就自動(dòng)好了

8、處理方式總結(jié)

        A、導(dǎo)出時(shí),可以批量的處理,比如一次處理10個(gè)表,遇到報(bào)錯(cuò)就停止執(zhí)行,這樣后面再處理報(bào)錯(cuò)的表就可以了,其他表會(huì)都遷移了。報(bào)錯(cuò)的表需要?jiǎng)h除了,從新遷移。刪除表后,需要刷新數(shù)據(jù)庫。

        B、批量遷移索引

                使用SQL 查詢出SQL server 所有創(chuàng)建索引的語句。下面是SQL

WITH indexInfo as (
    SELECT SCHEMA_NAME(t.schema_id) [schema_name],t.name as [table_name],t1.name as [index_name]
    ,t1.type,t1.type_desc,t1.is_unique,t1.is_primary_key,t1.is_unique_constraint,t1.has_filter,t1.filter_definition
    ,STUFF((SELECT ','+t4.name FROM sys.sysindexkeys t2 
        inner join sys.index_columns  t3 ON t2.id=t3.object_id and t2.indid=t3.index_id and t2.colid=t3.column_id
        inner join sys.syscolumns t4 ON t2.id=t4.id and t2.colid=t4.colid
        WHERE t2.id=t1.object_id and t1.index_id=t2.indid  and t2.keyno <> 0 ORDER BY t3.key_ordinal FOR XML PATH('')),1,1,'') AS index_cols
    ,STUFF((SELECT ','+t4.name FROM sys.sysindexkeys t2 
        inner join sys.index_columns  t3 ON t2.id=t3.object_id and t2.indid=t3.index_id and t2.colid=t3.column_id
        inner join sys.syscolumns t4 ON t2.id=t4.id and t2.colid=t4.colid
        WHERE t2.id=t1.object_id and t1.index_id=t2.indid  and t2.keyno = 0 ORDER BY t3.key_ordinal FOR XML PATH('')),1,1,'')  AS include_cols
    FROM sys.tables as t
    inner join sys.indexes as t1 on (t1.index_id > 0 and t1.is_hypothetical = 0) and (t1.object_id=t.object_id)
    WHERE t1.type in(1,2)
), indexInfo2 AS (
SELECT * ,(CASE 
    WHEN is_primary_key = 1 
        THEN 'alter table '+[schema_name]+'.'+[table_name]+' add constraint '+[index_name]+' primary key '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+'('+index_cols+');'
    WHEN is_unique = 1 AND is_unique_constraint = 1 
        THEN 'alter table '+[schema_name]+'.'+[table_name]+' add constraint '+[index_name]+' unique '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+'('+index_cols+');'
    WHEN is_unique = 1 AND (is_primary_key = 0 OR is_unique_constraint = 0)
        THEN 'create unique '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+' index '+[index_name]+'  on '+[schema_name]+'.'+[table_name]+'('+index_cols+');'
    ELSE 'create '+(CASE WHEN [type]=1 THEN 'clustered' ELSE 'nonclustered' END)+' index '+[index_name]+' on '+[schema_name]+'.'+[table_name]+'('+index_cols+') ;'
    END) script
FROM indexInfo
) SELECT [schema_name],[table_name],[index_name],script
+(CASE WHEN include_cols IS NOT NULL THEN ' include('+include_cols+')' ELSE '' END)
+(CASE WHEN has_filter = 1THEN ' where '+filter_definition ELSE '' END)
FROM indexInfo2
ORDER BY [schema_name],[table_name],[type],[index_name],is_primary_key DESC,is_unique_constraint DESC,is_unique DESC

        C、批量處理語句后(兩種數(shù)庫的DDL語句有所差異),可以批量執(zhí)行。

       可以全部一起執(zhí)行,或者一次執(zhí)行50條語句,遇到報(bào)錯(cuò)就停止,報(bào)錯(cuò)前的語句都執(zhí)行了,就可以刪除了。處理報(bào)錯(cuò)后,再執(zhí)行報(bào)錯(cuò)后面的語句。

        有些不好處理的報(bào)錯(cuò),可以先不管,后面在手動(dòng)對(duì)表建索引就可以了

批量執(zhí)行DDL語句的方式

        新開個(gè)窗口放DDL語句,SQL編輯器 --> 執(zhí)行SQL腳本

注意事項(xiàng):

        SQL SERVE 遷移到 ORACLE  后,在 ‘數(shù)據(jù)庫表管理’ 頁面做表創(chuàng)建的時(shí)候,DDL語句會(huì)報(bào)錯(cuò),因?yàn)樽侄味际切?,且都加了引?hào),導(dǎo)致Oracle不能識(shí)別。需要?jiǎng)h除  D:\03_workspace\01_fenghua\02_server\fenghua-tmp-server\src\main\java\xyz\elidom\dbist\ddl\impl\DdlJdbc.java   文件,刪除后重啟后端,就可以了,

后面生成的DDL語句,字段就沒引號(hào)了,Oracle就可以正常創(chuàng)建表了。

總結(jié)

到此這篇關(guān)于Dbeaver做數(shù)據(jù)遷移的文章就介紹到這了,更多相關(guān)Dbeaver數(shù)據(jù)遷移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用SQLite實(shí)現(xiàn)CacheHelper的示例代碼

    使用SQLite實(shí)現(xiàn)CacheHelper的示例代碼

    CacheHelper是一個(gè)基于SQLite的靜態(tài)緩存工具類,旨在為 .NET 應(yīng)用程序提供一個(gè)簡單、高效、持久化且線程安全的緩存解決方案,本文主要介紹了使用SQLite實(shí)現(xiàn)CacheHelper的示例代碼,感興趣的可以了解一下
    2025-10-10
  • 分布式和集群的概述講解

    分布式和集群的概述講解

    今天小編就為大家分享一篇關(guān)于分布式和集群的概述講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • DataGrip 連接 HiveServer2 報(bào)錯(cuò)的問題

    DataGrip 連接 HiveServer2 報(bào)錯(cuò)的問題

    這篇文章主要介紹了DataGrip 連接 HiveServer2 報(bào)錯(cuò)的問題,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 在telnet下操作memcache詳解(操作命令詳解)

    在telnet下操作memcache詳解(操作命令詳解)

    這篇文章主要介紹了在telnet下操作memcache詳解,telnet下的memcache操作命令詳解,需要的朋友可以參考下
    2014-07-07
  • 大數(shù)據(jù)量,海量數(shù)據(jù)處理方法總結(jié)

    大數(shù)據(jù)量,海量數(shù)據(jù)處理方法總結(jié)

    大數(shù)據(jù)量的問題是很多面試筆試中經(jīng)常出現(xiàn)的問題,比如baidu google 騰訊這樣的一些涉及到海量數(shù)據(jù)的公司經(jīng)常會(huì)問到。
    2010-11-11
  • 使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法

    使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法

    這篇文章主要介紹了使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 帶參數(shù)的sql和不帶參數(shù)的sql存儲(chǔ)過程區(qū)別

    帶參數(shù)的sql和不帶參數(shù)的sql存儲(chǔ)過程區(qū)別

    來執(zhí)行我們sql語句,看到很多分頁存儲(chǔ)過程都是直接拼湊sql語句然后用exec('')執(zhí)行起來了,這個(gè)從效率和安全上面來說,都是不推薦的。
    2008-09-09
  • 一條DELETE語句

    一條DELETE語句

    原來DELETE語句有 delete from *** from *** 的格式
    2009-02-02
  • 數(shù)據(jù)庫學(xué)習(xí)建議之提高數(shù)據(jù)庫速度的十條建議

    數(shù)據(jù)庫學(xué)習(xí)建議之提高數(shù)據(jù)庫速度的十條建議

    很多網(wǎng)站的重要信息都是保存在數(shù)據(jù)庫中,用戶通過提交訪問數(shù)據(jù)庫來獲取用戶信息。如果數(shù)據(jù)庫速度非常的快,有助于節(jié)省服務(wù)器的資源,那么如何優(yōu)化數(shù)據(jù)庫的速度呢,下面通過此篇文章一起學(xué)習(xí)數(shù)據(jù)庫學(xué)習(xí)建議之提高數(shù)據(jù)庫速度的十條建議
    2015-11-11
  • Linux寶塔面板使用Canal實(shí)現(xiàn)Mysql和Redis數(shù)據(jù)同步(圖文教程)

    Linux寶塔面板使用Canal實(shí)現(xiàn)Mysql和Redis數(shù)據(jù)同步(圖文教程)

    本文詳細(xì)描述了一個(gè)項(xiàng)目如何通過Canal解決從MySQL讀取配置文件的壓力問題,包括Linux環(huán)境設(shè)置、MySQL配置、Canal服務(wù)端安裝與配置,以及在SpringBoot中接入Canal進(jìn)行MySQL信息的實(shí)時(shí)監(jiān)控
    2025-12-12

最新評(píng)論

微山县| 珠海市| 临漳县| 湘乡市| 绍兴县| 来安县| 宝兴县| 红安县| 抚宁县| 西乡县| 乐山市| 漳州市| 揭阳市| 宁国市| 南安市| 侯马市| 日土县| 思南县| 长汀县| 二手房| 阳朔县| 岳普湖县| 衢州市| 阿拉善盟| 读书| 纳雍县| 漳浦县| 秀山| 巢湖市| 南和县| 尉氏县| 五大连池市| 台南市| 江城| 宣汉县| 北京市| 镇江市| 沐川县| 麦盖提县| 东安县| 贵州省|