簡體   English   中英

使用 PhpMyAdmin 導入 MSSQL.sql 時出現問題

[英]Issue importing MSSQL.sql using PhpMyAdmin

一直在研究將 MSSQL 轉換為 MYSQL。 對我來說最好的選擇是采用 MSSQL.sql 並使用 PhpMyAdmin 導入它。

以下帖子和鏈接很有幫助:

如何將 SQL Server 數據庫導出到 MySQL?

如何將SQL Server數據庫轉換為MySQL數據庫

http://forums.eukhost.com/f15/how-create-sql-file-mssql-database-created-sql-server-express-12514/#.UO68SHOLJ8s

但是當我嘗試這樣做時,它似乎因以下錯誤而失敗:

您的 SQL 語法有誤; 檢查與您的 MySQL 服務器版本對應的手冊以了解正確的語法

這發生在 .sql 文件的某些點,例如:

使用 [充電]

/****** 對象:表 [dbo].[CountryNm] 腳本日期:01/10/2013 13:28:42 ******/

這看起來像是 MSSQL.sql 文件的基本部分。 我曾嘗試從文件中刪除 USE 和 GO,但隨后停在評論處。 我還沒有刪除這些,因為我認為我正在做的事情可能從根本上是錯誤的?

我將 PhpMyAdmin 設置為格式:SQL,特定於格式的選項:MSSQL 並且不對零值使用 AUTO_INCREMENT:選中。

提前謝謝了

編輯:MSSQL Server Management Studio 腳本向導選項:

ANSI 填充:正確

附加到文件:錯誤

繼續編寫錯誤腳本:False

將 UDDT 轉換為基本類型:False

為從屬對象生成腳本:False

包括描述性標題:True

包括如果不存在:假

包括系統約束名稱:False

架構質量對象名稱:True

腳本綁定:錯誤

腳本整理:正確

腳本默認值:True

腳本掉落:錯誤

腳本擴展屬性:True

服務器版本的腳本:SQL Server 2008

腳本登錄:錯誤

腳本對象級權限:False

腳本使用數據庫:錯誤

腳本更改跟蹤:錯誤

腳本檢查約束:True

腳本日期:正確

腳本數據壓縮選項:False

腳本外鍵:True

腳本全文索引:錯誤

腳本索引:錯誤

腳本主鍵:True

沒有GO關鍵字,它是一個腳本拆分器,僅適用於 SSMS/OSQL 和一些其他 MS 產品(可從選項中自定義)。

更改數據庫的USE語句在 MYSQL 中應該沒問題 - 請參閱 此處以獲取參考。 嘗試將GO換成分號來結束語句。

根據文檔,這種類型的注釋也適用於 Mysql。

考慮到這兩個因素,試試這個語句:

USE [Charging];

/* Object: Table [dbo].[CountryNm] Script Date: 01/10/2013 13:28:42 */

好吧,這是一個特別痛苦的練習,但我已經設法讓 MSSQL 數據庫遷移到 MSSQL,這是最終目標。 但不要沿着使用 PhpMyAdmin 的路線走下去,這乍一看似乎很簡單。

MSSQL 服務器被隔離,所以我必須備份數據庫(.BAK 文件)並在我的本地計算機上安裝 MSSQL 服務器 2008 Express。 我在我的 Windows 7 專業 PC 上單獨安裝 Microsoft SQL Management Studio Express 遇到了很多麻煩,但通過安裝 MSSQL server 2008 高級服務解決了這個問題。 然后我將備份恢復到那個。 不確定是否需要,但我還安裝了 MYSQL ODBC 驅動程序。

然后我安裝了 SQL Data Examiner 2012。這讓我可以同時連接到本地 MSSQL 實例和我的遠程 MYSQL 數據庫。 然后我可以將表添加到 MYSQL 數據庫並運行同步。 幸運的是,這樣做似乎突出了為什么我可能在使用 PhpMyAdmin 導入時遇到問題,其中大多數似乎是包含超過 16 列的表,而 MYSQL 不喜歡其中的列!

好吧,在某種程度上,它仍然是成功的,我能夠在我導出的一些表中刪除很多列 - 希望對處於相同情況的其他人有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM