2016-10-25 21 views
0

Azure SQLデータウェアハウスのJDBC接続文字列を新しい仕様、具体的にはApplication Name=MyAppに追加しています。Azure SQLデータウェアハウスの接続文字列のパラメータの文字列

ここは私の問題です。私は、次の文字列を使用して自分のサーバーに接続します。

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である場合、彼らは

EDIT 1 ..この必要性を言及しない:私はJDBC接続文字列に並べ替えの関連何かを見つけたが、それはどんなのparamsを指定していませんhttps://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-connect-overview/

EDIT 2:あなたは、接続URL値BECの特定の部分をエスケープする必要がある場合があります接続URL の値をエスケープこのhere

見つけたことにはスペースが含まれていてもよいですスペース、セミコロン、引用符などの特殊文字を含めることができます。 JDBCドライバーは、これらの文字が中括弧で囲まれている場合、そのエスケープをサポートします。たとえば、{;}はセミコロンをエスケープします。 エスケープされた値には特殊文字(特に '='、 ';'、 '[]'、およびスペース)を含めることができますが、カッコは使用できません。エスケープして中括弧を含む必要がある値は、プロパティコレクションに追加する必要があります。

答えて

1

アプリケーション名プロパティにエスケープ文字を追加する必要はありません。エスケープに関するコメントは、接続文字列全体ではなく、接続文字列のURLコンポーネントに適用されます。

私は、あなたがプロパティ値としてとにかくApplicationNameを使用する必要があると信じています。

+0

あなたは正しいです。少なくとも、Azure SQLの場合はそうです。 Azure SQL DWの場合と同じことが分かりますか?また、Azure SQL DW内でアプリ名が正しく設定されていることを確認するにはどうすればよいですか? – theGreenCabbage

関連する問題