2010年5月26日 星期三

Mysql to MsSQL2008

災難~哉難,大概可以這樣形容...
應某上田下木おおき商売の請求(後面簡稱田木商)...
無奈需要我們把又小巧好用又跨平台的MySQL轉換到M$SQL上面,
田木商直誇他們M$系列用得愜意(不喟是一季賺4~5億的大咖),
希望我們把SERVER跟DB都轉換到M$的2003SERVER M$SQL2005以上,
小弟公司,主要是用ORACLE跟MySQL來的,會M$SQL的連半隻貓都沒有...

那麼就開始GOOGLE了...
import mysql into mssql
Migrate MySQL to MSSQL
結果~嗯嗯!資料特多,
大部分的老米都建議去下載安裝MySQL ODBC connector,
下載位置:http://dev.mysql.com/downloads/connector/
於是乎我也照辦了,就按照這個網站的指示:
http://www.codeproject.com/KB/database/migrate-mysql-to-mssql.aspx

該發文者文章最後都很帥氣的寫"Thus it!",
但我不管怎麼Try都是Thus FXXk!!!,
但是老米的文章都是千篇一律(例如這個也是http://blog.empiregpservices.com/post.cfm/import-mysql-into-mssql-free-easy)
ODBC~ODBC...O到老~且自稱都是又快又好的方法,

算了,把google搜尋的語言改成阿本仔...
喔!
喔!喔!
找到 步兵片 重點了!!!

嘿嘿嘿~ODBC不支援 utf-8
讚拉!賓果拉!
阿本仔果然也有遇到,但解法呢?
阿本仔竟然推薦寫支程式去READ & INSERT,
棍!
這不是笨到靠北~邊嗎?
...

忍耐,把GOOGLE搜尋區域切到台灣,並開始動用MSN找朋友~
果然,台灣人就是帥!
http://social.msdn.microsoft.com/Forums/zh-TW/240/thread/8eff3405-0c60-4065-b5dc-a316ac2661c3
解法~改用MySQL .NET connector!
一樣是去這邊下載:http://dev.mysql.com/downloads/connector/

但~然後呢??
這跟M$許多軟體內建的HELP,非常雷同...不是找不到,就是找到只有一句話^^;

皆下來...就...
  • 1.開啟SQL2008SERVER
  • 2.開啟OBJECT EXPLORE
  • 3.對Databases點選右建,新增你的目的地 New Database(假設叫NDB)
  • 4.對NDB點右鍵,選取Tasks->Import Data...(就會進入一個互動介面)
  • 5.針對介面進行作業
  • 5.1.選擇datasource: .Net Framework Data Provider for MySQL(記得要去先下載安裝MySQL .NET connector)
  • 5.2.1.接著就進行設定Connection(設定你MySQL實體的位置包含DB名稱與IP)
  • 5.2.2.接著就設定Security(設定連結MySQL的ID跟PWD)-按下NEXT(正確的話會進入5.3.的動作)
  • 5.3.選擇你要import的Destination
  • 5.4.只要5.3.的步驟正確,連按兩個NEXT
  • 5.5.下SQL Statemt吧!我的範例如下
SELECT * FROM tablename //tablename就是你要轉換的來源table名稱
  • 然按下Parse他會檢查你下的SQL是否有錯,按下NEXT
  • 5.6.接下來會來到下一個介面,這邊要把Deastination下面的[dbo].[Query],中的Query改成你要的名稱,既然是轉移,通常會取得跟來源是一樣的
  • 5.6.1.接下來可以點Preview...看看讀進來的資料跟Schema是不是你要的或是對的
  • 5.6.2.接下來點Edit Mappings...執行這個步驟把SCHEMA好好檢查一遍,通常DATATYPE都會轉換錯誤,記得親手調一遍~
  • 5.7.接下就一路NEXT到FINISH然後執行看結果,如果有遇到Warrning就根據report去排除了

後記,M$的軟體一貫特色就是又大又笨重又囉唆,但是圖形介面給很多新手降低入門恐懼,
但很多是脫褲子放屁,搞得更不知道怎麼用~不如給個CONSOLE直接下COMMAND算了...

感謝Andy、Penny、Honny的協助,此外Penny也找到了M$的一個好工具:SQL Server Migration Assistant 2008 for SQL,
不過...雖然介面簡單易懂又好用~但不愧是M$...透過ODBC...一樣轉失敗阿阿阿~

呼~好累,因為一向使用正版原則,只好到MSDN去下載WIN2008SERVER 跟SQLSERVER 2008 Enterprise評估版...所為別問我為何不使用介面親切易懂的舊版(其實應該是用習慣的人很多了也比較好取經...)但~時也命也運也~

備忘:用ODBC時...2008可以用此方法直接連結MySQL
EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQL',
@srvproduct=N'MySQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; _
DATABASE=tigerdb; USER=root; PASSWORD=hejsan; OPTION=3'


2010年5月13日 星期四

Yes! we can...濠洨

阿文~甭要再質疑阿九了;
阿九固然資質駑頓,一點數字概念都沒有,狂喊633卻搞出-6-3-3,
雖然他搞不清楚負數不是自然數~
但是!
有件事他真的說到做到阿!

他說~上~~~~就會 ~~~~阿!

他真的辦到了~您說不是嗎?

↓瞧~庵乃江湖人稱「濠氣干雲一身洨」,濠洨九是也!

2010年5月7日 星期五

糟了!遇到瓶頸怎麼一直想起...

糟糕,最近工作很緊很忙,但怎麼老是想起這首歌跟一直在心裡哼...


鄧麗君 愛人

作詞:荒木とよひさ 作曲:三木たかし

あなたが好きだから それでいいのよ
たとえ一緒に街を 歩けなくても
この部屋にいつも 帰ってくれたら
わたしは待つ身の 女でいいの

尽して 泣きぬれて そして愛されて
時がふたりを 離さぬように
見つめて 寄りそって そしてだきしめて
このままあなたの胸で 暮らしたい

めぐり逢い少しだけ 遅いだけなの
何も言わずいてね わかっているわ
心だけせめて 残してくれたら
わたしは見送る 女でいいの

*尽して 泣きぬれて そして愛されて
 明日がふたりを こわさぬように
 離れて 恋しくて そして会いたくて
 このままあなたの胸で 眠りたい

完蛋拉~..~