2009-06-13 167 views
0

我已經負責將客戶的MS SQL/ASP網站遷移到PHP/MYSQL。我對MS SQL沒有經驗。從MS SQL遷移到MySQL:SQLOLEDB?遷移工具包登錄錯誤?

我想弄清楚將當前數據遷移到MySQL的最佳方式,以便我可以開始PHP開發。

一些細節:

  • 我下載的SQL Server管理CHINESE Studio Express的。我在連接文件中找到以下字符串:

    MM_connCompanyName_STRING =「provider = SQLOLEDB; data source = IP_ADDRESS; database = DATABASENAME; uid = USERNAMEpwd = PASSWORD;」

  • 使用此字符串的IP,用戶名和密碼,我可以使用Studio Express成功連接。

  • 我下載了MySQL的遷移工具包,並輸入了相同的信息,但得到以下錯誤:

    連接到源數據庫和檢索圖式的名字。 初始化JDBC驅動程序... 驅動程序類MS SQL JDBC驅動程序 打開連接... 連接jdbc:jtds:sqlserver:// IP_ADDRESS:1433/DATABASENAME; user = USERNAME; password = PASSWORD;「; charset = utf- 8,域名= 架構名稱列表無法檢索(錯誤:0) ReverseEngineeringMssql.getSchemata:登錄失敗,用戶「USERNAME」

  • 我沒有管理員或物理訪問當前。 SQL server。我試圖通過Studio Express運行一些導出,但它將它們保存到我無權訪問的文件系統中。

  • I 可以到達當前/舊的網站管理員,但因爲他不再爲公司工作,他的迴應很慢,通常沒有幫助。所以沒有幫助...

  • 前管理員發給我一個MDF文件...不知道該怎麼做。
  • 我發現這個便條高於當前服務器上的連接信息(如果它意味着什麼):

'this connection is being used because ODBC was causing weird errors, switching to OLEDB fixed them

我的問題:

  1. 任何想法,爲什麼會用相同的被失敗適用於Studio Express的登錄憑證?我假設它與駕駛員有關,但我不知道接下來要採取的措施。
  2. 有沒有更好/更簡單/更有效的方法來遷移這些數據? (我希望我沒有發現自己在Studio Express中運行「SELECT *」語句並將數據複製/粘貼到Excel中...請上帝,否)

在此先感謝您的幫助。

回答

0

我相信你可以從MSSQL中導出數據,選擇不同的SQL方言;我相信有一個合理的MySQL兼容。當然,它並不能解決所有的問題,因爲雖然你可以正確地獲得結構,但是存儲過程和觸發器等等需要更多的工作。但是這應該讓你開始。

+0

我剛剛添加了一些細節問題:不幸的是,我試圖通過Studio Express運行導出,但它將文件保存在本地文件系統上 - 我無法訪問。 – jmccartie 2009-06-13 22:41:21

1

Eww,這將是可怕的(連接字符串表示它是由Dreamweaver生成的工具,從來不是一個好跡象)。

任何想法哪個版本的SQL Server?你應該能夠SELECT @@ VERSION。 10.x是2008,9.x是2005和8.x是2000.如果是7.x運行。

MDF文件是實際的數據庫。如果我是你的話,我會購買SQL 2005的開發者版本(如果是2008年的話,不會是8),它的價值將達到99美元左右。

這將使您能夠通過附加MDF文件在本地安裝數據庫。一旦你有一個本地運行的副本,你可以使用帶有MySql ODBC驅動程序的SQL Server ETL工具以可重複的方式將數據推送到MySql。

+0

我在版本8.所以安裝2005年的開發版本,並創建一個Sql Server的本地實例?我需要的是中密度纖維板? – jmccartie 2009-06-17 00:45:39