在MS Access中创建无DSN的SQL连接时如何指定Schema?
无DSN连接指定Schema配置方案
- ODBC协议无DSN连接
直接在连接字符串中新增CurrentSchema(部分数据库适配为Schema)参数即可完成默认Schema绑定,无需在每次查询的表名前加前缀,不同数据库参考示例:# PostgreSQL 连接串示例 Driver={PostgreSQL Unicode};Server=服务地址;Port=端口;Database=数据库名;Uid=账号;Pwd=密码;CurrentSchema=目标Schema名; # SQL Server 连接串示例 Driver={ODBC Driver 17 for SQL Server};Server=服务地址;Database=数据库名;Uid=账号;Pwd=密码;Schema=目标Schema名; # MySQL 连接串示例 Driver={MySQL ODBC 8.0 Unicode Driver};Server=服务地址;Port=3306;Database=数据库名;Uid=账号;Pwd=密码;CurrentSchema=目标Schema名; - OLE DB协议无DSN连接
在连接字符串中添加Initial Schema参数即可,参考示例:Provider=SQLOLEDB;Data Source=服务地址;Initial Catalog=数据库名;User ID=账号;Password=密码;Initial Schema=目标Schema名; - 表名前缀指定Schema的修正方案
如果你需要手动在表名前加Schema前缀,注意不同数据库的语法差异,避免格式错误:- PostgreSQL、MySQL 需用双引号包裹Schema与表名:
"Schema名"."表名" - SQL Server 需用中括号包裹Schema与表名:
[Schema名].[表名]
额外注意:连接使用的账号需要具备目标Schema的访问权限,否则即使配置格式正确也会找不到对应对象。
- PostgreSQL、MySQL 需用双引号包裹Schema与表名:
内容的提问来源于stack exchange,提问作者James Sutton
相关产品推荐
相关产品推荐

