【发布时间】:2017-03-07 20:18:47
【问题描述】:
我现在正在将我的 Azure SQL 数据仓库上的 JDBC 连接字符串升级到新规范,特别是添加以下内容:Application Name=MyApp。
这是我的问题。我使用以下字符串连接到我的服务器:
jdbc:sqlserver://localhost:1234;database=mydb;encrypt=true;trustServerCertificate=true;
如果我将应用程序名称添加到我的字符串中,它将变为以下内容:
jdbc:sqlserver://localhost:1234;database=mydb;encrypt=true;trustServerCertificate=true;Application Name=MyApp
看到Application 和Name 之间的空格了吗?
我的问题是 - 这是对的吗?我是否需要将该空间编码为%20 之类的东西?
如果连接字符串是 URL,他们在 Microsoft 文档中没有提到这种必要性。
编辑 1:我发现了一些与 JDBC 连接字符串相关的东西,但它没有指定任何可能包含空格的参数:https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-connect-overview/
编辑 2:找到这个 here
连接 URL 中的转义值 由于包含空格、分号和引号等特殊字符,您可能必须转义连接 URL 值的某些部分。如果这些字符用大括号括起来,则 JDBC 驱动程序支持对它们进行转义。例如,{;} 转义分号。 转义值可以包含特殊字符(尤其是 '='、';'、'[]' 和空格),但不能包含大括号。必须转义并包含大括号的值应添加到属性集合中。
【问题讨论】:
标签: jdbc azure-sql-database mssql-jdbc azure-sqldw