首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS Access 2007查询不能在SQL Server 2008上运行

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

Stack Overflow用户
提问于 2012-03-20 00:15:02
回答 2查看 2.4K关注 0票数 3

在过去的4个月里,我正在开发一个C# VS 2010的应用程序。我使用MS Access 2007成功地存储了我的近20个表。

今天我意识到我的数据库不能被MS Access 2007一致地处理。因此,我决定使用带有升迁向导的SQL Server2008 R2 Express,它工作得非常好!

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

据我所知,MS Access支持的SQL的很多东西都不被MS SQL Server支持

例如:带日期的查询,用于表示日期格式当我们使用'#‘时,SQL Server 2008将无法识别它。

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

所有这些查询在Access 07中都能完美工作

我相信一定有某种方法可以让SQL Server理解MS access查询。

或者我必须编辑整个应用程序??这就好比挖一座矿来淘金。

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

所以,这不是问题所在。

请尽快帮我。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 00:19:11

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

我感受到了你的痛苦,我刚刚重写了一个大型的MS Access应用程序(超过1000个查询),需要重新创建才能在SQL Server中使用。

可能会有一些查询可以直接移植过来,但正如您注意到的那样,带有date的查询,甚至一些聚合函数(First()等)在SQL Server中没有使用,这些查询将需要更改。

以下是有关将Access转换为SQL的一些信息的链接

Converting Access Queries to SQL Server

票数 5
EN

Stack Overflow用户

发布于 2012-03-20 10:22:21

您说得对,在大多数情况下,您不能仅从Access获取查询的SQL并在SQL Server中运行它。它可能适用于非常简单的查询,但通常需要对它们进行调整。

下面是我要采取的几个步骤:

  1. 提取您的查询(我假设它们在您的代码中),并在您的Access数据库中重新创建它们。确保它们在那里像普通的Access查询一样工作。

(例如,您可以简单地向您的应用程序添加一些代码,以便将所有查询打印到文件,这样您就不必处理参数,然后只需将它们复制/粘贴到您的Access DB中)。

要点很简单,就是在Access中进行查询。

  • 使用SSMA from Microsoft来帮助您将查询移动到SQL Server。它在将它们转换成T-SQL方面做得很好。

你可能仍然需要手动转换一些麻烦的查询,但这不应该那么多,通常转换不是difficult.

  • Once转换成T- SQL,只需将这些工作查询重新注入到您的代码中,或者将SQL Server中的复杂查询保留为视图(这通常更快,因为SQL Server已经创建了自己的执行计划,而不是您的应用程序发送服务器需要分析的原始SQL )。

  • 正如您所指出的,如果您的字段使用了一些不能正确转换到SQL server的功能,则可能会出现一些问题。

在尝试转换之前,请查看Access中的表并进行一些清理:

代码语言:javascript
复制
- For booleans fields:

确保将它们的默认值设置为0或1(它们不应为空)。

-必填字段必须为非空:

请确保您设置为“必填”的任何字段的数据中不包含任何空值。

-唯一索引不能忽略Null:

检查索引是否未同时设置为“唯一”和“忽略null”。

-所有表必须有干净的主键:

确保所有的表都有一个唯一的主键,该主键的数据中没有Null值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9773754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档