BIDS内でうまく動作しているSSISパッケージをビルドしました。パッケージは正常に実行されます。SSISパッケージはBIDSで動作しますが、DTEXECでは動作しません。エラーDTS_E_ADODESTFAILEDTOACQUIRECONNECTION
コマンドラインから同じ設定で同じパッケージを実行しようとしていますが、接続を取得できません(エラー0xC0208452:DTS_E_ADODESTFAILEDTOACQUIRECONNECTION)。
障害が発生した接続は、すべての障害を保持するアクセスファイルへのADO.Net接続です(私がBIDS内で直接言ったように、動作します)。
次のコマンドラインを使用します(.cmdファイル内)。
@echo off
set dtexec=%programfiles%\Microsoft SQL Server\100\DTS\Binn\dtexec.exe
"%dtexec%" /X86 /f "myPackage.dtsx"
出力は次のとおりです:
Error: 2011-12-05 09:47:38.94
Code: 0xC0208452
Source: Output Errors to access file [162]
Description: ADO NET Destination has failed to acquire the connection {19CC1EA2-BD93-4006-919E-39A80E828BB1}. The connection may have been corrupted.
End Error
この接続に使用する接続文字列は次のとおりです。
Data Source=c:\path\to\errors.mdb;Provider=Microsoft.Jet.OLEDB.4.0
私もExcelファイルへの接続を使用しているとして、X86フラグが設定されています
したがって、共有接続のデフォルトモードが適用されます(16:ShareDenyNode)。
最後に、私のプラットフォームは次のとおりです。
- W2K8 R2 x64の
- SQL 2K8 R2 x64の
私は、このコマンドラインと間違って何が起こっているのか表示されません。私はいくつかの助けに感謝します。
PS:場合によっては、管理者として実行しようとしましたが、動作は同じです。
[編集]それに役立つことができれば知っているが、ここでは/ ConsoleLogフラグを使用した場合、エラー・ログではいけない:
Log:
Name: Diagnostic
Computer: mycomputer
Operator: domain\me
Source Name: Jet Errors
Source GUID: {19CC1EA2-BD93-4006-919E-39A80E828BB1}
Execution GUID: {90BCE5BA-CF8B-49FC-8275-1F1FF70720CB}
Message: ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Open(ConnectionType: System.Data.OleDb.OleDbConnection,
System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ConnectionString: Data Source="c:\Path\to\errors.mdb";Provider=Microsoft.Jet.OLEDB.4.0;)'.
Start Time: 2011-12-05 09:58:57
End Time: 2011-12-05 09:58:57
End Log
Log:
Name: Diagnostic
Computer: mycomputer
Operator: domain\me
Source Name: Jet Errors
Source GUID: {19CC1EA2-BD93-4006-919E-39A80E828BB1}
Execution GUID: {90BCE5BA-CF8B-49FC-8275-1F1FF70720CB}
Message: ExternalRequest_post: 'IDbConnection.Open failed'. The external request has completed.
Start Time: 2011-12-05 09:58:57
End Time: 2011-12-05 09:58:57
End Log
Log:
Name: OnError
Computer: mycomputer
Operator: domain\me
Source Name: Categories
Source GUID: {6DD5D6E3-2256-43D5-84B8-E9C27E02694B}
Execution GUID: {90BCE5BA-CF8B-49FC-8275-1F1FF70720CB}
Message: ADO NET Destination has failed to acquire the connection {19CC1EA2-BD93-4006-919E-39A80E828BB1}. The connection may have been corrupted.
Start Time: 2011-12-05 09:58:57
End Time: 2011-12-05 09:58:57
End Log
Error: 2011-12-05 09:58:57.62
Code: 0xC0208452
Source: Categories To Categories Errors [162]
Description: ADO NET Destination has failed to acquire the connection {19CC1EA2-BD93-4006-919E-39A80E828BB1}. The connection may have been corrupted.
End Error
Log:
Name: OnError
Computer: mycomputer
Operator: domain\me
Source Name: Categories
Source GUID: {6DD5D6E3-2256-43D5-84B8-E9C27E02694B}
Execution GUID: {90BCE5BA-CF8B-49FC-8275-1F1FF70720CB}
Message: component "To Categories Errors" (162) failed validation and returned error code 0xC0208452.
Start Time: 2011-12-05 09:58:57
End Time: 2011-12-05 09:58:57
End Log
Error: 2011-12-05 09:58:57.64
Code: 0xC0047017
Source: Categories SSIS.Pipeline
Description: component "To Categories Errors" (162) failed validation and returned error code 0xC0208452.
End Error
そして、ここではdtsxファイル自体からの接続の定義です:
<DTS:ConnectionManager>
<DTS:Property DTS:Name="DelayValidation">0</DTS:Property>
<DTS:Property DTS:Name="ObjectName">Jet Errors</DTS:Property>
<DTS:Property DTS:Name="DTSID">{19CC1EA2-BD93-4006-919E-39A80E828BB1}</DTS:Property>
<DTS:Property DTS:Name="Description"></DTS:Property>
<DTS:Property DTS:Name="CreationName">ADO.NET:System.Data.OleDb.OleDbConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</DTS:Property>
<DTS:ObjectData>
<DTS:ConnectionManager>
<DTS:Property DTS:Name="Retain">0</DTS:Property>
<DTS:Password DTS:Name="Password" Sensitive="1" Encrypted="1">AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAeUySei4110aSwp/Lg9Ry2wAAAAAIAAAARABUAFMAAAADZgAAwAAAABAAAABIrrL+3ppbrbI4ELkWjVMvAAAAAASAAACgAAAAEAAAAMgk6OFh+lWGPpsFZ0dK9k8IAAAA1HCWmIm7dIsUAAAAjjx5q2XUdjp2o+FxWAaPCEgv94M</DTS:Password>
<DTS:Property DTS:Name="ConnectionString">Data Source=c:\Path\To\errors.mdb;Provider=Microsoft.Jet.OLEDB.4.0;</DTS:Property>
</DTS:ConnectionManager>
</DTS:ObjectData>
</DTS:ConnectionManager>
うん、それは '/ X86'フラグが存在していることを残念です。これは正しいことですが、[SQL Agent](http://msdn.microsoft.com/en-us/library/ms162810.aspx)にのみ適用されます – billinkc
私のSSISの経験(これは私の最初のプロジェクトでした)はかなりです負。不明瞭なエラーメッセージが多く、基本的な作業が苦しくなることがあります(存在しないため、手動で行う必要があります:最低6つのコンポーネント)。再利用性の欠如などこれはSSISのもう一つの悪い点です。 –
私は2005年からSSISに取り組んできましたので、私は酷使に慣れています。 ;)しかし、私は一般的に、データを移動するための製品はかなり便利だと感じています。32/64ビットのものは、SSISだけでなく、MSエコシステムのあらゆるところを吸う。私たちの何人か(Siva、Filip Popovic)はここでSSISタグをよく見守っていますので、必要に応じてここに質問を表示したり、Twitterで私を打つことができます。良い人がたくさんいます – billinkc