Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL Server ke MySQL transfer data

Saya menggunakan jembatan jdbc-odbc di Jawa untuk melakukan hal ini di masa lalu, tetapi kinerja melalui ODBC tidak bagus. Saya sarankan melihat sesuatu seperti http://jtds.sourceforge.net/ yang merupakan driver Java murni yang dapat Anda masukkan ke skrip Groovy sederhana seperti berikut:

import groovy.sql.Sql
sql = Sql.newInstance( 'jdbc:jtds:sqlserver://serverName/dbName-CLASS;domain=domainName',     
'username', 'password', 'net.sourceforge.jtds.jdbc.Driver' )
sql.eachRow( 'select * from tableName' ) { 
  println "$it.id -- ${it.firstName} --" 
  // probably write to mysql connection here or write to file, compress, transfer, load
}

Angka kinerja berikut memberi Anda gambaran tentang kinerjanya:http://jtds.sourceforge.net /benchTest.html

Anda mungkin menemukan beberapa keuntungan kinerja untuk membuang data ke format dumpfile mysql dan menggunakan loaddata mysql daripada menulis baris demi baris. MySQL memiliki beberapa peningkatan kinerja yang signifikan untuk kumpulan data besar jika Anda memuat infile dan melakukan hal-hal seperti pertukaran tabel atom.

Kami menggunakan sesuatu seperti ini untuk dengan cepat memuat file data besar ke mysql dari satu sistem ke sistem lain mis. Ini adalah mekanisme tercepat untuk memuat data ke mysql. Tetapi baris demi baris waktu nyata mungkin merupakan loop sederhana untuk dilakukan di groovy + beberapa tabel untuk melacak baris apa yang telah dipindahkan.

mysql> select * from table into outfile 'tablename.dat';  

shell> myisamchk --keys-used=0 -rq '/data/mysql/schema_name/tablename'

mysql> load data infile 'tablename.dat' into table tablename;

shell> myisamchk -rq /data/mysql/schema_name/tablename

mysql> flush tables;
mysql> exit;

shell> rm tablename.dat


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tampilan hari melalui prosedur tersimpan

  2. Secara otomatis mematikan kueri yang berjalan lama (MySql), Apache Tomcat DataSource

  3. Menyematkan komentar dalam pernyataan MySQL

  4. Apa artinya ketika saya mengatakan Pernyataan yang disiapkan sudah dikompilasi sebelumnya?

  5. apa arti pengguna yang tidak diautentikasi di MYSQL?