MS Access SQL到T-SQL转换器

时间:2010-03-08 12:53:50

标签: sql-server ms-access

是否有将MS Access SQL转换为T-SQL的工具?

2 个答案:

答案 0 :(得分:6)

对于我的疑问,我更愿意手工完成,而不是让工具进行翻译。

我不知道一个工具,但这里有一个像样的备忘单

http://weblogs.sqlteam.com/jeffs/archive/2007/03/30/Quick-Access-JET-SQL-to-T-SQL-Cheatsheet.aspx

答案 1 :(得分:0)

刚刚完成了我的第一次SQL数据库转换。这是我使用的过程:

MS SQL Server迁移助手,用于所有表结构和数据。尽管有许多命名约定消息,但所有数据和结构都没有问题。

我在网上阅读了很多关于使用SSMA查询的警告,所以我没有采用这种方式,选择手动复制/粘贴语法。 MS SQL Management Studio在将语法从Access转换为T-SQL方面相当聪明,但我遇到了一些问题:

  • 密钥,状态,ID等受限制的字段名称应封装在[]中。
  • 如果您使用的是早于2012年的SQL Server版本,则IIF语句将成为CASE
  • Nz成为ISNULL(正如Raj More在上面的链接文章中恰当地指出的那样。)
  • 在整合查询时很有吸引力,在您验证输出之前一直坚持。

    但是我在任何指南中找不到的头号提示是:利用Round()并截断浮点值(根据数据指示的精度)。操纵数字数据会产生非常奇怪的结果,Access通常会掩盖......

    SQL Studio中的奇怪行为:Select *不显示有问题的记录,但如果您使用特定的where子句查询该记录,则会通过magic显示。截断值,然后选择*将其拉入。
    我弄清楚了几天,然后才发现它与浮动值有关,超过小数的位数太多了。有经验的人可以解释为什么,因为我没有最模糊的。 :)