我有需要SQL Server 2000作爲數據庫存儲的應用程序。 我真的不想使用SQL Server 2000,但我可以改用MySQL服務器。欺騙SQL Server
應用程序使用ODBC連接到SQL Server數據庫。
我想知道是否有可能使假的SQL Server將從MySQL服務器
應用< ---> ODBC管理器發送和接收數據/ < --->假SQL Server驅動程序< ---> mysql服務器
任何一個,如果這樣的事情是可以做出來的?
我有需要SQL Server 2000作爲數據庫存儲的應用程序。 我真的不想使用SQL Server 2000,但我可以改用MySQL服務器。欺騙SQL Server
應用程序使用ODBC連接到SQL Server數據庫。
我想知道是否有可能使假的SQL Server將從MySQL服務器
應用< ---> ODBC管理器發送和接收數據/ < --->假SQL Server驅動程序< ---> mysql服務器
任何一個,如果這樣的事情是可以做出來的?
如果您的應用程序通過ODBC驅動程序簡單地使用vanilla SQL,那麼您應該能夠使用MySQL,而且幾乎沒有問題。如果它使用SQLServer的特定功能,那麼你需要SQLServer - 你不能真實地僞造它。
您可以使用提供者模型,只需在運行時切換使用哪個提供者即可。
當然,最大的問題將在於不同的SQL代碼支持。所以你必須注意,你所有的SQL都位於每個提供者的內部,並且遠離將它嵌入到應用程序邏輯中的任何形式......無論如何你應該這樣做。
另一種方法是在部署時簡單更改ODBC數據源,但同樣需要確保SQL代碼在兩種環境中都能正常工作;這是艱難的。
通常支持多個數據庫後端本身就是一種藝術形式。 SQL Server 2k的SELECT TOP 100和MySql的LIMIT命令等簡單的東西足以讓人們避免這樣做。
因爲數據庫服務器根本不同,所以沒有真正的「僞造」它的方法。你最終會寫一大堆代碼來將SQL調用從一個轉換到另一個......這是浪費時間。
我建議你只是硬着頭皮學習MS SQL Server。
This site顯示了SQL Server,Oracle和MySql在select語句的一個實現方式上的差異的一個非常簡單的示例。
不知道你爲什麼「真的不想使用SQL Server 2000」,但是,如果你決定需要並且你有一臺可用Windows的PC,你可以使用Microsoft數據庫引擎2000版本A(MSDE2000A.exe )。這是真實的,可以在桌面上自由使用。
http://msdn.microsoft.com/en-us/library/ms811304.aspx
我不認爲這是可以從微軟下載了,但你也許能找到它別的地方。如果你不能找到它,你的下一個最好的選擇可能是使用2005年版(SQL Server 2005速成版),並確保您不使用任何新功能,自2000年以來:
我不會「T。
你會花費這麼長時間說服兩個玩很好,沒有真正的好處。在這種情況下,你必須完成大部分代碼才能運行SQL Server。考慮到這些,恐怕只要硬着頭皮,學會直接使用SQL Server,而不是試圖將兩者聯繫起來。
我的應用程序使用microsoft sql server。它也使用odbc。還應用程序正在運行的程序只有 – DanSpd 2010-01-09 22:02:30
然後你可能塞滿了。與MySQL實現的非常簡單的語言相比,SQLServer存儲過程語言(T-SQL)是一個巨大的野獸。兩者不兼容。 – 2010-01-09 22:04:39
SQL方言是不同的,因此您必須檢查每個過程,並且可能必須重寫其中的大部分過程。 – 2010-01-09 22:04:41