代码之家  ›  专栏  ›  技术社区  ›  Tim Lara

如何创建到字段名中包含句点的SQL Server视图的Jet ODBC链接?

  •  2
  • Tim Lara  · 技术社区  · 16 年前

    我需要创建一个从Access2003(Jet)数据库到SQL Server托管视图的ODBC链接,该视图包含别名字段名,其中包含句点,如:

    Seq.Group
    

    在视图后面的SQL源代码中,字段名用方括号括起来…

    SELECT Table._Group AS [Seq.Group]
    

    …所以SQL Server不会抱怨创建视图,但是当我尝试从Jet DB(以编程方式或通过Access 2003 UI)创建到该视图的ODBC链接时,我收到错误消息:

    “seq.group”不是有效的名称。制作 确保不包括无效 字符或标点符号 不太长。

    不幸的是,我不能修改视图的结构,因为它是另一个产品的一部分,所以我坚持字段名的方式。我 能够 用不带标点符号的字段名添加我自己的视图,但我真的不想修改SQL Server,因为这样每次升级、修补程序等都会成为另一个维护点。有人知道更好的解决方法吗?

    3 回复  |  直到 16 年前
        1
  •  4
  •   Tim Lara    16 年前

    虽然从技术上讲我并没有逃过这个点,但你的建议实际上是 让我认识到另一种选择。当我想知道如何将转义代码“传递”到“SQL”服务器时,我突然想到:为什么不使用“SQL传递查询”而不是ODBC链接表?因为我只需要对SQL Server数据进行读访问,所以它工作正常!谢谢!

        2
  •  1
  •   dguaraglia    16 年前

    猜猜看:你有没有试着逃过这个点?类似于“[seq\.group]”?

        3
  •  0
  •   Philippe Grondier    16 年前

    另一个建议是在您的SQL Server上添加一个新视图,而不是修改现有视图。即使您的初始视图是“解决方案”的一部分,也没有任何内容禁止您添加新视图:

    SELECT Table._Group AS [Seq_Group]