【问题标题】:Select from another database table which have ] in her path从路径中包含 ] 的另一个数据库表中选择
【发布时间】:2013-08-13 16:20:58
【问题描述】:

使用 Access 2002,我无法在这样的查询中转义数据库路径中的 ] 字符:

SELECT * FROM [MS Access;DATABASE=D:\bd].mdb;].[MYTABLE];

我尝试过但没有用的方法:

SELECT * FROM ["MS Access;DATABASE=D:\bd].mdb;"].[MYTABLE];

SELECT * FROM [MS Access;"DATABASE=D:\bd].mdb";].[MYTABLE];

我在 msdn 文档中没有找到任何关于转义路径的内容:http://msdn.microsoft.com/en-us/library/office/ff194542.aspx

(我不想使用链接表,因为查询实际上是将数据导出到 excel 或其他数据库,例如 SELECT * INTO [text;database=d:\;HDR=Yes].[csvfile.csv]来自我的表;)

【问题讨论】:

    标签: ms-access path escaping


    【解决方案1】:

    试试这个查询..

    SELECT [OtherAccessDB].* FROM [OtherAccessDB] IN 'D:\bd].mdb' 
    

    或者如果 ] 不是必需的...

    SELECT [OtherAccessDB].* FROM [OtherAccessDB] IN 'D:\bd.mdb' 
    

    【讨论】:

    • 感谢您的回答,不幸的是它不适用于路径 SELECT [MYTABLE].* FROM [MYTABLE] IN 'D:\bd].mdb'; 中的特殊字符; => 数据库引擎找不到 'D:\bd].mdb'
    • similar post 中,有人指出Windows 使用插入符号作为转义字符。试试SELECT ... IN 'D:\db^].mdb' 我没有带Access 的虚拟机,但你可以试试。如果可行,@christiandev 应该得到答案。
    • @ErinsMatthew :谢谢,我试过了,但似乎对于访问,^ 被视为常规字符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2019-11-17
    • 2020-03-09
    • 1970-01-01
    相关资源
    最近更新 更多