Mysql to MSSQL aktarım, mysql den Mssqle aktarma aşağıda anlatacağım işlemleri yapabilmek için Sunucuya tam erişim hakkınız olması lazım
Sunucunuzda Mysql ODBC Driver'in yüklü olması lazım, yüklü değilse
https://dev.mysql.com/downloads/connector/odbc/ adresinden indiriyoruz ve kuruyoruz.
Control Panel\All Control Panel Items\Administrative Tools dan veya direkt olarak %windir%\system32\odbcad32.exe dan ODBC ayarlarına gidiyoruz.
SYSTEM DSN Sekmesinden mysql için DSN ekliyoruz (bu sadece test amaçlıdır ve Driver ismini öğrenmemize yarayacak).
Microsoft SQL Server Managament Studio'yu Açıyoruz New Query Kısmından
EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQL',
@srvproduct=N'MySQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 5.3 Driver adı önemli}; SERVER=localhost; _
DATABASE=databaseAdi; USER=useradi; PASSWORD=parolamız; OPTION=3'Sorgusunu çalıştırıyoruz, gerekli alanlara dikkat.
benim sunucuda şu kodu çalıştırdım.
EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQL',
@srvproduct=N'MySQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=localhost; _
DATABASE=test; USER=root; PASSWORD=123456789; OPTION=3'Aşğıdaki resimdeki gibi MYSQL Sekmesinden Catalog'a tıkladığınızda mysql'de bulunan veritabanlarınız listelenmedi ise birşeyleri yanlış yapmışsınızdır, girdiğiniz parola driver v.b bilgileri gözden geçirin.
Şimdi sıra geldi mysql deki veritabanınızda yer alan tablolardan veri almaya.
aktarım kodu şu şekilde olacak
use mssqlveritabaniAdi
SELECT * INTO dbo.tabloadi
FROM openquery(MYSQL, 'SELECT * FROM mysqlVeritabaniAdi.tabloAdi')
Eğer MSSQL veritabanınızda ilgili tablo yoksa merak etmeyin, sorgu sonucunda ilgili tablo kendisi oluşacak.
bu sorgunun tek handikapı ID gibi Is IdenTity değerleri oluşmaz, onuda tasarım kısmından kendiniz yaparsınız.
Şu kodla da ilgili mysql tablosundaki verileri okuyabilirsiniz
SELECT TOP 500 * FROM openquery(MYSQL, 'SELECT * FROM veritabaniAdi.TabloAdi')
Böylece büyük bir zahmetden kurtulduk.