如何在字段名称中使用句点创建到SQL Server视图的Jet ODBC链接?

时间:2020-03-06 15:00:19  来源:igfitidea点击:

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

Seq.Group

在视图后面的SQL源中,字段名称用方括号括起来...

SELECT Table._Group AS [Seq.Group]

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

'Seq.Group' is not a valid name. Make
  sure that it does not include invalid
  characters or punctuation and that it
  is not too long.

不幸的是,我不能修改视图的结构,因为它是另一种产品的一部分,所以我一直以字段名称的方式停留它们。我可以使用无标点符号的字段名添加自己的视图,但是我真的不希望完全修改SQL Server,因为那样的话,每次升级,修复程序等时,这都会成为另一个维护点。 ?

解决方案

只是在这里猜测:我们是否尝试过将点转义?类似于" [Seq \ .Group]"?

尽管从技术上讲,我并没有最终摆脱困境,但建议确实使我意识到了另一种选择。在想知道如何将转义代码"传递"到" SQL"服务器时,它突然出现:为什么不使用" SQL传递查询"而不是ODBC链接表?由于我只需要对SQL Server数据的读取访问权限,因此可以正常工作!谢谢!

另一建议是在sql服务器上添加一个新视图,而不修改现有视图。即使初始视图是"解决方案"的一部分,也没有什么可以阻止我们添加新视图的:

SELECT Table._Group AS [Seq_Group]