標籤:
使用環境:作業系統:window7資料庫:SQL Server2005、MySql5.01、在安裝了SQL Server的伺服器上安裝MySql的ODBC驅動:下載連結:http://dev.mysql.com/downloads/mirror.php?id=376346點過去之後會連結到以下的頁面,不用登陸,直接點擊下面的“No thanks,just start my download”就會彈出下載框。
上面的連結只是window7的ODBC驅動,下面這個連結比較全,可以根據需要下載相應的驅動:http://dev.mysql.com/downloads/connector/odbc/5.1.htmlMySql的ODBC驅動的安裝過程就是一路next,一路預設就行,直到install,finish。2、建立ODBC資料來源:點擊“控制台”—>>“管理工具”—>>"資料來源(ODBC)",系統會彈出“ODBC資料來源管理器”,選擇“系統DSN”選項卡,可以看到已有的系統資料來源資訊。
點擊“添加”按鈕,在彈出的“建立新資料來源”框中選擇相應的驅動程式。我這裡串連的是MySql,所以選MySQL的ODBC程式。MySQL的ODBC提供了ANSI和Unicode兩個版本,它們之間到底有什麼區別我是不知道啦,但從字面上來看,Unicode應該能夠支援更多的字元集,而ANSI只針對有限的字元集的範圍。我這隻是用來測試,就隨便選個ANSI的driver吧。
點擊“完成”按鈕時,系統會彈出MySQL ODBD資料來源配置框,Data Source Name:資料來源名稱,不可為空,可以隨便填,但是要記住了,後面有用到Deion:資料來源描述,可以為空白,也可以隨便填TCP/IP Server:安裝了MySql的機器的Ip地址Port:連接埠號碼,MySql預設連接埠號碼3306User:登陸MySql的使用者名稱Password:登陸MySql的密碼Database:資料來源,也就是要用的資料庫
填寫完之後,可以點擊下“Test”測試一下,要是串連正確會彈出框
串連不成功則彈出:
測試成功,點擊“OK”按鈕,此時“ODBC”資料來源管理器中就多出了剛剛添加的資料來源。要是想修改剛剛填寫的配置資訊,可以點“配置”按鈕。
最後“確定”。3、建立連結的伺服器在SQL Server2005中找到“連結的伺服器”節點,右擊選擇“建立連結的伺服器”。
連結的伺服器:一定要填,可以隨便填,它會自動將填寫的資訊轉成大寫伺服器類型選擇“其他資料來源”提供者:選擇“Microsoft OLE DB Provider for ODBC Drivers”(預設的是“Microsoft OLE DB Provider for SQL Server”,兩個挺像的,別弄混了)產品名稱:官方解釋是要作為連結的伺服器添加的OLE DB資料來源,也不懂什麼意思,貌似可以隨便填資料來源:就是上面建立的ODBC資料來源,我這裡是testmysql
然後選“安全性”選項卡,最下面的連結方式選擇最後一種“使用此安全上下文建立串連”,輸入使用者名稱和密碼之後點擊“確定”。
此時“連結的伺服器”節點下就會多出剛剛建立的連結的伺服器。
4、簡單測試執行SQL語句:select * from OPENQUERY(TESTMYSQL, ‘select * from cdr_ex‘)其中“TESTMYSQL”為剛剛建立的連結的伺服器,cdr_ex是建資料來源時選定資料庫中的一張表。後來在網上查到也可以用SQL語句直接建“連結的伺服器”,免了前面的一大堆東西,這裡用SQL建立一個名為“testmysql2”的連結的伺服器,拷貝並修改之後的SQL如下:
- IF EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.server_id != 0 AND srv.name = N‘testmysql2‘)
- exec sp_dropserver ‘testmysql2‘,‘droplogins‘
- exec sp_addlinkedserver
- @server=‘testmysql2‘, --這是ODBC裡面data source name
- @srvproduct=‘testmysql2‘, --這個你自己隨便吧
- @provider=‘MSDASQL‘, --這是固定的,不能瞎填,否則死定了
- @datasrc=NULL,
- @location=NULL,
- @provstr=‘DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=192.168.0.119;DATABASE=asteriskcdrdb;UID=root;pwd=root;PORT=3306;‘,
- --注意驅動名稱要與odbc相同
- @catalog = NULL
- exec sp_addlinkedsrvlogin
- @rmtsrvname=‘testmysql2‘,
- @useself=‘false‘,
- @rmtuser=‘root‘,
- @rmtpassword=‘root‘;
技術分享:www.kaige123.com
SQL Server訪問MySql