5

Visual Studioでのパッケージ開発中に、SSISパッケージのProtectionLevelをDontSaveSensitiveに設定し、構成ファイルのパスワードで接続文字列を使用することはどういうわけか可能ですか?

私はパッケージを持っています。例えば、ProtectionLevel=DontSaveSensitiveのPackage1です。このパッケージは、Connection1などの接続マネージャーからの接続を使用しています。

Package1では、接続文字列が指定された構成ファイルfile1.dtsConfigを使用して構成が有効になっています。この接続文字列には、パスワードが含まれています。

<DTSConfiguration>
    <DTSConfigurationHeading>
        <DTSConfigurationFileInfo GeneratedBy="..." GeneratedFromPackageName="..." GeneratedFromPackageID="..." GeneratedDate="20.3.2013 12:08:27"/>
    </DTSConfigurationHeading>
    <Configuration ConfiguredType="Property" Path="\Package.Connections[Destination].Properties[ConnectionString]" ValueType="String">
        <ConfiguredValue>Data Source=.;Password=Password123;User ID=MyUser;Initial Catalog=Catalog;Provider=SQLNCLI10.1;Persist Security Info=True;Auto Translate=False;</ConfiguredValue>
    </Configuration>
</DTSConfiguration>

これで、Visual Studioの接続マネージャーから接続を開くと、[パスワード]のテキストフィールドが空白のままになり、パッケージが実行されなくなります。構成ファイルfile1.dtsConfigの接続文字列内で指定されたパスワードが使用されなかったのはなぜですか?

ここに画像の説明を入力してください

4

3 に答える 3

5

最後に、それを行う方法を見つけました。

  • ProtectionLevel をDontSaveSensitiveに変更します
  • 接続文字列を含む構成ファイルを作成する
  • この構成ファイルを手動で編集します。SQL Server 認証で接続する場合に備えて、パスワードを接続文字列に追加します。

次に、SSIS パッケージは、Visual Studio でも構成ファイルから接続文字列を含むパスワードを読み込みます。接続マネージャーの接続ダイアログでは、パスワードは表示されませんが、パッケージは構成の接続文字列を使用して実行されます。

于 2013-03-21T13:11:49.227 に答える
0

これは、パッケージが最初に EncryptSensitiveWithUserKey を使用するように設定され、次に DontSaveSensitive 保護レベルに変更された場合にも当てはまります。ユーザーdeeが上で賢明に書いたように、手動で .conmgr-file を編集して DTS:Password 要素を削除し、パスワードを接続文字列に入れる必要があります。

于 2015-04-24T09:58:05.973 に答える
0

SSISConfig Fileは、. runtime_ そのため、次に を使用してパッケージを開くときに、資格情報を再度入力する必要があります。そうしないと、パッケージは実行されませんが、 inを指定した場合、パッケージは常に適切に実行されます。Save my PasswordBIDS sessionBIDSVisual Studiocompilerun timeconnection stringconfig file

MSDNによると、それは明確に述べています

機密を保存しない : 機密としてマークされたプロパティがパッケージと共に保存されないようにするため、機密データを他のユーザーが使用できなくなります。

于 2013-03-20T11:37:54.383 に答える