В настоящее время я работаю над настольным приложением VB.NET, которое использует файлы базы данных .mdb (Access) в бэкэнде. Файлы .mdb открываются и редактируются в приложении VB.NET. После завершения редактирования пользователям необходимо будет импортировать данные в нашу базу данных SQL Server. Это простая задача, пока вы не попытаетесь представить сценарий динамического пути к файлу.
У меня достаточно опыта работы с SSIS, но у меня возникли некоторые проблемы с этим. Я создал WinForm, который позволяет пользователю просматривать файл .mdb по своему выбору. Имена файлов .mdb содержат информацию о метках времени / дате, чтобы сделать их уникальными. (Я не разрабатывал эту часть приложения, я недавно начал работать над этим, отсюда и проблемы. Я бы не стал метить время в имени файла .mdb, но это то, что я вынужден использовать!).
В любом случае, мне нужно динамически передавать имя файла и путь к пакету SSIS. Я вижу, где вы создаете переменные для ConnectionString и т. Д. Но я действительно не уверен в деталях и в том, какой тип подключения к данным мне следует использовать для MS Access (Ole DB, ODBC или Jet 4.0 для Office. Шиш много! !)
Я также предполагаю, что строка подключения моего подключения к данным должна быть динамической, поскольку пакет будет использовать файл .mdb в качестве ИСТОЧНИКА. Но как создать динамическое соединение для передачи данных в службах SSIS для файлов .mdb?
А как передать строку имени файла / пути в мой пакет служб SSIS?
В настоящее время я создаю прототип с этим кодом:
'Execute the SSIS_Import package
Dim pkgLocation As String
Dim pkg As New Package
Dim app As New Microsoft.SqlServer.Dts.Runtime.Application
Dim pkgResults As DTSExecResult
Dim eventListener As New EventListener()
Try
pkgLocation = "C:\SSIS_DataTransfer\ImportPackage.dtsx"
'TO-DO: pass databasePath variable to SSIS package here ???
pkg = app.LoadPackage(pkgLocation, eventListener)
pkgResults = pkg.Execute(Nothing, Nothing, eventListener, Nothing, Nothing)
Select Case pkgResults
Case DTSExecResult.Completion
MsgBox("Data import completed!")
Case DTSExecResult.Success
MsgBox("Data import was successful!")
Case DTSExecResult.Failure
MsgBox("Data import was not successful!")
End Select
Catch ex As Exception
MsgBox(ex.Message)
End Try
- Как передать местоположение файла .mdb в мой пакет служб SSIS? Возможно LoadPackage?
- Как использовать динамическое расположение файлов в моем подключении к данным для пакета служб SSIS?
Довольно просто загрузить файл .mdb, который НЕ является динамическим. Установить источник и назначение довольно просто, пока вы не введете ДИНАМИЧНЫЙ аспект выбора пользователя. Как это возможно в SSIS?
любая помощь очень ценится.
Спасибо.