因工作需要,要將存放在sql server數(shù)據(jù)庫中的數(shù)據(jù)全部導入到mysql數(shù)據(jù)庫中,在網上搜集相關資料,找到兩種方法,現(xiàn)在分別談談對他們的看法。
第一種是安裝mysql ODBC,利用sql server的導出功能,選擇mysql數(shù)據(jù)源,進行數(shù)據(jù)的直接導出,這種方法很簡便,但是針對實際應用有很多弊端,最主要體現(xiàn)就是數(shù)據(jù)類型問題,首先,sql server數(shù)據(jù)庫中的ntext,image等數(shù)據(jù)類型的數(shù)據(jù)無法直接寫入到mysql數(shù)據(jù)庫中,據(jù)說只要稍加改動就可以,可惜偶這只菜鳥還沒想到如何改動,其次,因為偶在mysql中的數(shù)據(jù)庫設計中將時間都設成int型(保存的是時間戳),所以在數(shù)據(jù)導過來后,就會出現(xiàn)沖突,再次,這種方法生成的mysql數(shù)據(jù)表的字段類型都不很合適,所以此種方法我覺得不能提倡。
第二種是利用php或asp腳本來實現(xiàn)數(shù)據(jù)的導入功能,這種方法需要編寫程序,但靈活性大,操作也不是那么困難,一切都盡在你的掌握之中,現(xiàn)簡單介紹一下該方法。前提條件是你的mysql環(huán)境已經搭建好了,先建好目標數(shù)據(jù)庫,再將所有的表結構用sql語句生成,現(xiàn)在萬事具備,只缺數(shù)據(jù)了。
可以通過下面的php腳本來實現(xiàn)sql server中mydb數(shù)據(jù)庫的user表中數(shù)據(jù)向mysql中mydb數(shù)據(jù)庫導入:
以下為引用的內容: $cnx = odbc_connect('web', 'admin', '123456'); |
將該段腳本存成sql.php,在服務器上執(zhí)行,就可以將服務器上sql server中mydb數(shù)據(jù)庫的user表中的數(shù)據(jù)導入到mysql中mydb數(shù)據(jù)庫的user表中去。其他表的操作與此雷同,就不贅述了。
下面再介紹一下asp腳本實現(xiàn)sql server中mydb數(shù)據(jù)庫的數(shù)據(jù)向mysql中mydb數(shù)據(jù)庫導入:
以下為引用的內容: <% |
以上兩個是分別采用php腳本和asp腳本對user表的數(shù)據(jù)進行由sql server到mysql的導入其間我采用2種回避的方法來避免ntext,image類型數(shù)據(jù)的傳遞,一種是將ntext字段改為nvarchar(4000),因為實際情況,原始數(shù)據(jù)中該字段的數(shù)據(jù)長度都未超過4000個字,所以并沒有出現(xiàn)數(shù)據(jù)截斷,另一個手段是將image類型數(shù)據(jù)取出來寫到文件中,以文件形式保存,將文件路徑存到數(shù)據(jù)庫中,方法見下:
以下為引用的內容: 關鍵詞標簽:SQL Server,MySQL,數(shù)據(jù) 相關閱讀
熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構的關系 相關下載 人氣排行 配置和注冊ODBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠程導入(導出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法
|