MS Access 2007查询不在SQL Server 2008上运行

Adi*_*ade 3 sql-server ms-access ms-access-2007

我在过去4个月内在C#VS 2010中开发了一个应用程序.我使用MS Access 2007成功存储了近20个表.

今天我意识到我的数据库无法通过MS Access 2007一致地处理.因此我决定使用升迁向导来使用SQL Server 2008 R2 Express,它的工作非常棒!

但是,当我尝试运行我已经很好开发的应用程序的各种选项时,每次向SQL Server发出查询时都会抛出错误.

我知道MS SQL Server不支持MS Access支持的许多SQL内容

例如:使用日期查询,当我们使用'#'表示日期格式时,SQL Server 2008不会识别它.

此外,对于Bool值,MS Access将其存储为True和False,而SQL Server使用0.

这些所有查询都与Access 07完美配合

我确信必须有一些方法,以便SQL Server可以理解MS访问查询.

或者我必须编辑我的整个申请?它将像挖矿获得金一样好.

我已经更改了所有数据访问对象,如阅读器,适配器,命令,与SQL数据对象的连接使用System.Data.SqlClient.

所以,这不是问题.

请尽快帮助我.

谢谢.

Tar*_*ryn 5

您不能强制SQL Server运行MS Access查询.需要重写这些查询以使用T-SQL而不是MS Access使用的查询语言.

我感到很痛苦,我只需要重写一个需要重新创建以在SQL Server中使用的大型MS Access应用程序(超过1k个查询).

可能会有一些查询可以直接移植,但是当您注意到带有日期的查询时,甚至某些聚合函数(First()等)也不会在SQL Server中使用,并且这些查询将需要更改.

这是一个链接,其中包含有关转换Access to SQL的一些信息

将访问查询转换为SQL Server