分享一個跨數據庫實現數據傳輸的簡單方法:
今天早上想做這樣一件事:想把pg中blog數據庫的所有表及表數據全部復制到mysql中的blog數據庫中,我使用的是navicat-premium 我首先是使用以下步驟:
1、將pg中blog數據庫的數據轉儲成.sql文件
2、在mysql的blog數據庫中運行該.sql文件
可是總是現實失敗,給出如下提示:

找了半天,發現在往mysql數據庫插入數據的時候,所有的值都變成?了,但這不應該成為導致運行sql腳本失敗的原因,查了一番后發現網上的大家都說是因為兩個數據庫之間存在差異,
mysql可能無法識別pg的sql腳本中的一些函數、符號等,下面是百度到的需要在pogresql腳本中修改的地方:

我沒有嘗試去改腳本,因為我發現了更簡單的方法,但我還是覺得有必要嘗試一下,這樣就能了解更多兩種數據庫之間的差異性了,下面就先說一下我的方法吧:
只需要一個navicat-premium工具就好
1、選中pg中要導入的數據表或表所在的數據庫;
只選表就會只操作選中的表;選中數據庫就會操作所有數據庫中的數據;
2、右擊選擇數據傳輸
3、配置傳輸信息,如下圖所示:

配置信息一目了然,就是源信息和目標信息,但是有一個關鍵點,就是天藍色部分的選項,pg數據庫所在方一定要選擇模式為public,因為:
pg數據服務器的目錄樹結構中,表的父級目錄是public而不是數據庫名;
mysql數據庫服務器的目錄樹結構中,表的父級目錄就是數據庫名;
如下圖所示:

4、配置完點擊開始就OK了,如下圖所示:

5、查看數據是否一致
注意:在查看傳輸到mysql數據庫中的是否一致前,要先關閉連接,打開之后再刷新數據庫才能看到傳輸的數據表。以blog_user表為例,我的兩個數據庫中的信息如下:
postgresql中:

mysql中:

以上就是跨數據庫實現數據傳輸的整個過程,有興趣的可以嘗試一下mysql到pg或其他數據庫之間是否可以進行傳輸.........
