Сбой SSDT, когда пакет служб SSIS пытается получить доступ к базе данных MS-Access - PullRequest
0 голосов
/ 10 мая 2018

Мы хотим перенести пакеты служб SSIS с 2008 по 2014 год.

  1. У нас есть Windows10 + Visual Studio Proff 2015 + SSDT 2015: когда мы пытаемся получить доступ к базе данных MS-Access (особенно * .accdb)файл из налога на DataFlow.Как только мы добавим файл * .accdb в connectionManager и нажмем кнопку ОК.Начинается проверка соединения OLEDB, а затем происходит сбой Visual Studio.
  2. То же самое происходит с Windows10 + Visual Studio 2010 (оболочка) + SQL Server 2012 Business Intelligence с пакетом обновления 4.
    • Послеэто будет сбой, как только мы снова откроем проект.Это связано с тем, что как только вы откроете проект, откроете пакет служб SSIS в режиме разработки, диспетчер соединений снова попытается его проверить.Вы можете избежать проверки времени разработки, но в конечном итоге она снова будет аварийно завершена во время работы.
    • ConnStr: "Источник данных = C: \ Users \ abc.accdb; Provider = Microsoft.ACE.OLEDB.12.0;"

Когда мы пытались выяснить причины, мы могли найти две конкретные вещи.

A) В журнале событий мы каждый раз видели две непротиворечивые ошибки VSвылетает.

i) Эта ошибка всегда одна и та же:

Неправильное имя приложения: devenv.exe, версия: 14.0.25420.1, отметка времени: 0x57685d85 Неправильное имя модуля: mso40uiwin32client.dll , версия: 16.0.4666.1000, отметка времени: 0x5a8363ef Exception code: 0xc0000005 Fault offset: 0x0014a102 Faulting process id: 0x3730 Faulting application start time: 0x01d3e8600acedd50 Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe Faulting module path: C:\Program Files (x86)\Common Files\Microsoft Shared\Office16\mso40uiwin32client.dll Report Id: c54747c6-db07-4897-82aa-02ae596645b1 Faulting package full name: Faulting package-relative application ID:

ii) Исключение AccessViolation является распространенным явлением, однако стек каждый раз показывает некоторые или другие сборки.

Приложение: devenv.exe Framework Версия: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения.Exception Info: System.AccessViolationException at Microsoft.SqlServer.Dts.Pipeline.Wrapper.CManagedComponentWrapperClass.AcquireConnections(System.Object) at Microsoft.DataTransformationServices.Design.PipelineUtils.AcquireConnections(Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSComponentMetaData100, Microsoft.SqlServer.Dts.Runtime.Connections, Boolean) at Microsoft.DataTransformationServices.Design.DtsComponentDesigner+<>c__DisplayClass3.<ValidateComponentInternal>b__0() at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr, System.Object[], System.Object, System.Object[] ByRef) at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessageSink) at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(System.Object) at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Примечания: Следующие обходные пути были опробованы до сих пор, но безуспешно.

  • Попробовал запуск SSDT под администратором.
  • Отредактируйте свойство 'saidfirstrunoptin' в реестре..
  • Переустановите Visual Studio 2015.
  • Переустановите SSDT 2015
  • Переустановите SQL Server 2012 Business Intelligence с пакетом обновления 4.
  • Использование «версии целевого сервера»как 2012/14 / 16.
  • Run64BitRunTime в true / false.
  • В подключении mgr: с использованием 12.0 и 16.0 поставщиков OLEDB.
  • Другой пакет, который использует *.MDB работает нормально.
...