如何创建指向字段名称中带有句点的 SQL Server 视图的 Jet ODBC 链接?
Posted
技术标签:
【中文标题】如何创建指向字段名称中带有句点的 SQL Server 视图的 Jet ODBC 链接?【英文标题】:How do I create a Jet ODBC link to a SQL Server view with periods in the field names? 【发布时间】:2008-10-02 01:20:29 【问题描述】:我需要创建一个从 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,因为这样每次升级、修补程序等时都会成为另一个维护点. 有谁知道更好的解决方法?
【问题讨论】:
【参考方案1】:虽然从技术上讲,我并没有最终摆脱点,但您的建议实际上确实让我意识到了另一种选择。在想知道如何将转义码“传递”到“SQL”服务器时,我突然想到:为什么不使用“SQL 传递查询”而不是 ODBC 链接表?因为我只需要对 SQL Server 数据的读取权限,所以它工作正常!谢谢!
【讨论】:
【参考方案2】:只是在这里猜测:您是否尝试转义点?像“[Seq\.Group]”这样的东西?
【讨论】:
【参考方案3】:另一个建议是在您的 sql 服务器上添加一个新视图,而不是修改现有视图。即使您的初始视图是“解决方案”的一部分,也没有什么能阻止您添加新视图:
SELECT Table._Group AS [Seq_Group]
【讨论】:
以上是关于如何创建指向字段名称中带有句点的 SQL Server 视图的 Jet ODBC 链接?的主要内容,如果未能解决你的问题,请参考以下文章
在 Heroku 上使用 Boto 时,无法连接到名称中带有句点的 S3 存储桶