0

我现在正在将我的 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

看到 和 之间的空间了ApplicationName

我的问题是——这对吗?我是否需要将该空间编码为类似的东西%20

如果连接字符串是 URL,他们在 Microsoft 文档中没有提到这种必要性。

编辑 1:我发现了一些与 JDBC 连接字符串相关的东西,但它没有指定任何可能包含空格的参数:https ://azure.microsoft.com/en-us/documentation/articles/sql-data-仓库连接概述/

编辑 2:在这里找到这个

转义连接 URL 中的值 由于包含特殊字符(例如空格、分号和引号),您可能必须转义连接 URL 值的某些部分。如果这些字符括在大括号中,则 JDBC 驱动程序支持对它们进行转义。例如,{;} 转义分号。转义值可以包含特殊字符(尤其是 '='、';'、'[]' 和空格),但不能包含大括号。必须转义并包含大括号的值应添加到属性集合中。

4

1 回答 1

1

您不必为 Application Name 属性添加任何转义字符。关于转义的注释适用于连接字符串的 URL 组件,而不是整个连接字符串。

不过,我相信无论如何您都应该使用 ApplicationName 作为属性值。

于 2016-10-25T20:31:36.473 回答