SybaseデータベースからSQL Serverにデータを移行するSSISパッケージがあります。ソースデータベースへの接続は、ODBC接続を介して行われました。
自分のマシンで直接パッケージを実行すると、パッケージは正常に実行されますが、ローカルコンピューター(宛先データベースがある場所)で作成したSQL Serverジョブを介してパッケージを実行したい場合、ログイン失敗エラーが発生します。
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Login failed for user 'xxx\user1'.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Cannot open database "MySybaseDatabase" requested by the login.
ジョブは実際には「SQL Serverエージェントサービスアカウント」として実行されることを知っていますxxx\user1
であり、ユーザーがソースデータベースにアクセスするためにODBC接続で設定されているのとは異なりますが、odbc接続ログインが優先されず、むしろ使用されている理由がわかりません。エージェントサービスアカウントよりも?
さまざまなサイトでいくつかの投稿を読んだり、プロキシの設定などについて話していましたが、それが私の問題にかなり関連しているかどうかはわかりません。
ソースデータベースへの接続はODBCを介して設定されていますが、手順が失敗したため、SQLにSQL Serverアジェントユーザーではなく必要なuserIdを使用するようにuserIdとパスワードを追加しましたが、役に立ちませんでした。 このログインの問題をどのように修正できるかご存知ですか?
ありがとうございました。
SSISパッケージを使用してExcelファイルからデータをインポートするときに、同様の問題が発生しました。私は このチュートリアル を見つけ、問題を解決しました。
[〜#〜]編集[〜#〜]:重要な手順:
1-SSISパッケージをファイルシステムに保存するときに、「パッケージ保護レベル」を選択して「Do機密データを保存しない」。
次に、次の手順に従います。
1-Visual StudioでSSISパッケージを開きます
2-[〜#〜] ssis [〜#〜]->Package Configurationsを選択します/
3-Package Configurations OrganizerでAddをクリックします
4-開いたウィンドウでNextをクリックします
5-構成タイプをXML構成ファイルに設定します
6-設定ファイル名をクリックし、参照をクリックして、目的のフォルダを選択します設定ファイルを保存するには、このファイルの名前を選択してから、Saveを押します。
7-ここで完了したら、次へをクリックします
8-適切なconnection managerを選択し、+記号をクリックして展開します。次に、Propertiesを展開し、Passwordに対応するチェックボックスをオンにします。次にNextをクリックします。
9-構成ファイルの名前を選択し、Finishをクリックします。
次のXML構成ファイルは、以前に指定した場所に作成されます(ここでは例としてチュートリアルのコードを使用しています)。
<?xml version="1.0"?>
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="Domain\UserName" GeneratedFromPackageName="Package" GeneratedFromPackageID="{77FB98FB-E1AF-48D9-8A43-9FD6B1790837}" GeneratedDate="22-12-2009 16:12:59"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Connections[runeet2k8.sa].Properties[Password]" ValueType="String">
<ConfiguredValue></ConfiguredValue>
</Configuration>
</DTSConfiguration>
ここで行う必要があるのは、XMLファイルを編集してこれを変更することだけです。<ConfiguredValue></ConfiguredValue>
これに:<ConfiguredValue>YourPasswordGoesHere</ConfiguredValue>
次に、パッケージを保存します。
SQLジョブを作成するときは、タブConfigurationsでジョブに設定ファイルを追加することを忘れないでください。