Я создал пакет служб SSIS, который хорошо работает в BIDS.Пакет запускается успешно.
Сейчас я пытаюсь выполнить тот же пакет с тем же конфигурацией из командной строки, но не удается установить соединение (ошибка 0xC0208452: DTS_E_ADODESTFAILEDTOACQUIRECONNECTION).
Сбой соединения - это соединение ADO.Net с файлом доступа, в котором хранятся все сбои (как я уже говорил, он работает непосредственно в BIDS).
Я использую следующую командную строку (в файле .cmd),Флаг X86 установлен, так как я также использую соединение с файлом Excel:
@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
Таким образом, применяется режим по умолчанию для общего подключения (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>