伪造SQL Server

时间:2010-01-09 21:56:09

标签: sql mysql sql-server-2000 odbc

我的应用程序需要SQL Server 2000作为数据库存储。 我真的不想使用SQL Server 2000,但我可以改为使用MySQL服务器。

应用程序使用ODBC连接到SQL Server数据库。

我想知道是否可以制作假的SQL Server,它将向/从MySQL服务器发送和接收数据

申请< ---> odbc经理< --->假的SQL Server驱动程序< ---> mysql服务器

任何人都可以做出这样的事情吗?

4 个答案:

答案 0 :(得分:5)

如果您的应用程序只是通过ODBC驱动程序使用vanilla SQL,那么您应该可以使用MySQL而几乎没有问题。如果它使用SQLServer的特定功能,那么您需要SQLServer - 您无法实际伪造它。

答案 1 :(得分:1)

我不会。

你将花费这么长时间来说服两个人玩得很好,没有真正的好处。在这种情况下,您必须使用SQL Server方式执行大多数代码。鉴于这些,您可能只是咬紧牙关并学会直接使用SQL Server,而不是试图将两者结合在一起,我担心。

答案 2 :(得分:0)

您可以使用提供者模型,只需关闭您在运行时使用的提供程序。

当然,最大的问题将在于不同的SQL代码支持。因此,您必须注意所有SQL都位于每个提供程序内部,并远离任何类型的嵌入应用程序逻辑中......无论如何,您应该这样做。

另一种方法是在部署时简单地更改ODBC数据源,但同样,您必须确保SQL代码在两个环境中都能正常工作;这很难。

通常支持多个数据库后端本身就是一种艺术形式。像SQL Server 2k的SELECT TOP 100和MySql的LIMIT命令这样的简单事情足以阻止人们这样做。

没有真正的“假装”方式,因为数据库服务器根本不同。你最终会编写大量的代码来将sql调用从一个调用到另一个......这是浪费时间。

我建议你咬紧牙关学习MS SQL Server。

This site显示了一个非常简单的例子,说明SQL Server,Oracle和MySql在select语句的一个实现上的区别。

答案 3 :(得分:0)

不确定为什么你“真的不想使用SQL Server 2000”但是,如果您确定需要并且有一台可用Windows的PC,则可以使用Microsoft Database Engine 2000 Release A(MSDE2000A.exe) 。这是真实的东西,可以在桌面上免费使用。

http://msdn.microsoft.com/en-us/library/ms811304.aspx

我认为不再可以从Microsoft下载,但您可以在其他地方找到它。如果你找不到它,你的下一个最佳选择可能是使用2005版本(SQL Server 2005 Express Edition)并确保自2000年以来你不使用任何新功能:

http://www.microsoft.com/Sqlserver/2005/en/us/express.aspx