2

我需要创建一个从 Access 2003 (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,因为那样每次升级、修补程序等时,这都会成为另一个维护点。有谁知道更好的解决方法?

4

3 回答 3

4

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

于 2008-10-02T03:33:41.837 回答
1

只是在这里猜测:您是否尝试转义点?像“[Seq\.Group]”这样的东西?

于 2008-10-02T01:30:59.727 回答
0

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

SELECT Table._Group AS [Seq_Group]
于 2008-10-02T05:35:04.587 回答