2010-07-10 265 views
2

我在專用服務器上的SQL Server 2008 Express上有應用程序數據庫。這對我的網絡應用程序來說是不夠的。將SQL Server數據庫轉換爲MySQL

  • 是否有任何好的免費轉換工具可以使我將當前的SQL Server數據庫轉換爲我的服務器上的MySQL。
  • 我的網絡應用程序能夠工作嗎?
+2

哪有什麼我們的回答可能與所提供的信息是最後一個問題? – MDMarra 2010-07-10 00:32:45

+0

這取決於應用程序是否使用正確的標準SQL。通常SQL Server應用程序不會正確引用列名等,這可能會導致與mysql關鍵字的衝突。在這種情況下,你可能會遇到問題。 – txwikinger 2010-07-10 00:40:16

+0

這類問題通常需要一個編程解決方案,所以最好轉移到堆棧溢出。無論它是否被移動,缺乏細節使得難以(如果不是不可能的話)正確回答。 – 2010-07-10 01:26:11

回答

6

問題中沒有足夠的信息來解決圍繞Web應用程序工作是否相同的許多問題。

easy部分將移植架構和數據到另一個RDBMS。 SQL Server有一大套Generate Scripts命令來生成CREATE TABLE語句。您還可以通過SQL Management Studio爲數據創建INSERT語句。

移動您的應用程序時遇到了挑戰。

  • 什麼是數據訪問策略?是ADO.NET編寫/構建語句,還是存儲過程? LINQ to SQL也許?
  • 其中的SQL語句:它們是ANSI標準的程度,以及TSQL特定關鍵字上SQL的依賴程度如何?這裏的答案將指出將SQL語句和邏輯移動到新的RDBMS所需的工作量。
  • 該應用程序是否依賴於MySQL沒有的任何SQL Server特定功能或功能?重寫代碼以適合MySQL的成本是多少?
  • 希望應用程序使用集中連接字符串。這將需要改變,並希望它在web.config。如果它在數據訪問代碼中被硬編碼,那麼這是一個find + replace的遊戲。

第二個問題的簡短答案是,您將無法在新的RDBMS中實現您的數據並讓應用程序正常工作。必須重新編譯才能使用新的數據訪問庫(ADO.NET for MySQL)。總而言之,當然可以使其工作相同,但所需的努力並不小,並且100%依賴於代碼。

alt text alt text

相關問題