Просто потому, что я не видел AngularJS и думал, что люди захотят узнать ...
angular.copy
также предоставляет метод глубоких копирующих объектов и массивов.
Я нашел способ для этого в сети
Он требует немного работы, потому что это нужно делать за столом. Но в любом случае я мог бы скопировать таблицы, данные и ограничения в базу данных MS SQL.
Вот ссылка
http://www.codeproject.com/KB /database/migrate-mysql-to-mssql.aspx
Также вы можете использовать «ODBC» + «Мастер импорта и экспорта SQL Server». Ниже ссылка описывает это: https://www.mssqltips.com/sqlservertutorial/2205/mysql-to-sql-server-data-migration/
Этот парень имеет простой трюк с использованием MS Access в качестве туннеля между MySQL и MSSQL
. Вы можете прочитать сообщение в http://azamudd.in/convert-data-from-mysql -в-MSSQL-The-легкий путь-через-мс-доступа /
Вот мой подход для импорта .sql-файлов в MS SQL:
--compatible=mssql
и --extended-insert=FALSE
: mysqldump -u [username] -p --compatible=mssql --extended-insert=FALSE db_name table_name > table_backup.sql
$i=0; Get-Content exported.sql -ReadCount 300000 | %{$i++; $_ | Out-File out_$i.sql}
Есть несколько советов , как для ускорения вставок .
Другой подход заключается в использовании опции mysqldump –where
. Используя эту опцию, вы можете разбить таблицу на любое условие, которое поддерживается предложением where
sql.
--databases [db_name]
, как он объяснил в этом ответе: stackoverflow.com/a/26096339/155687
– Vladislav
27 March 2017 в 06:57
Я предлагаю вам использовать mysqldump так:
mysqldump --compatible=mssql
phpMyAdmin все еще является веб-приложением и может потенциально иметь некоторые ограничения для больших баз данных (время выполнения скрипта, распределяемая память и т. д.).
Сегодня у меня была очень похожая проблема - мне нужно было скопировать большую таблицу (5 миллионов строк) из MySql в MS SQL.
Вот шаги, которые я сделал (в Ubuntu Linux):
mysqldump \ --compact \ --complete-insert \ --no-create-info \ --compatible=mssql \ --extended-insert=FALSE \ --host "$MYSQL_HOST" \ --user "$MYSQL_USER" \ -p"$MYSQL_PASS" \ "$MYSQL_DB" \ "$TABLE" > "$FILENAME"
split --lines=1000 "$FILENAME" part-
export SQLCMD=/opt/mssql-tools/bin/sqlcmd x=0 for file in part-* do echo "Exporting file [$file] into MS SQL. $x thousand(s) processed" # replaces \' with '' sed -i "s/\\\'/''/g" "$file" # removes all " sed -i 's/"//g' "$file" # allows to insert records with specified PK(id) sed -i "1s/^/SET IDENTITY_INSERT $TABLE ON;\n/" "$file" "$SQLCMD" -S "$AZURE_SERVER" -d "$AZURE_DB" -U "$AZURE_USER" -P "$AZURE_PASS" -i "$file" echo "" echo "" x=$((x+1)) done echo "Done"
Конечно, вам нужно будет заменить мои переменные, такие как $AZURE_SERVER
, $TABLE
, и т.д с твоим.
Надеюсь, что это поможет.
Если вы выполняете экспорт с помощью PhpMyAdmin , вы можете переключить режим совместимости sql на «MSSQL». Таким образом, вы просто запускаете экспортированный скрипт с вашей базой данных MS SQL, и все готово.
Если вы не можете или не хотите использовать PhpMyAdmin, в mysqldump , но лично я предпочел бы, чтобы PhpMyAdmin сделал это для меня.
Использовать Помощник по миграции SQL Server (SSMA)
В дополнение к MySQL он поддерживает Oracle, Sybase и MS Access.
умный и способный обрабатывать даже нетривиальные передачи. Он также получил некоторый интерфейс командной строки (в дополнение к графическому интерфейсу), поэтому теоретически он может быть интегрирован в некоторый процесс пакетной загрузки.
Это текущая ссылка для загрузки для версии MySQL http://www.microsoft .com / en-us / download / details.aspx? id = 42657
Текущая (июнь 2016) стабильная версия 6.0.1 сбой с текущим (5.3.6) MySQL ODBC-драйвером при передаче данных. Все 64 бит. Версия 5.3 с драйвером ODBC 5.1.13 отлично работает.