Пакеты DTS и соединение для доступа - PullRequest
2 голосов
/ 22 октября 2008

Используя DTS, я динамически создаю базу данных доступа. После создания файла (который работает в данный момент) у меня есть пакет DTS, отправляющий его через HTTP на другой сайт. (Этот HTTP как раз то, как это должно быть сделано - часть спецификации.)

Но когда пакет публикует файл, опубликованная версия выходит в виде 0-байтового файла. Код для размещения файла проверен и хорошо реализован. Я уверен, что это работает. Коллега сказал мне, что он считает, что эта «0-байтовая» ошибка возникает из-за того, что соединение Access не закрыло файл доступа. Он сказал, что пакет DTS должен быть завершен, чтобы файл доступа был закрыт.

Вопрос: Как получить Access, чтобы закрыть файл Access до того, как будет выполнен шаг для публикации файла?

На всякий случай, если это необходимо, шаги:

  • Создайте файл Access, установите для этого нового файла предварительно определенный объект подключения доступа
  • Создание таблицы в Access
  • Использование задачи «Преобразование данных» для заполнения базы данных Access (из SQL Server)
  • Публикация файла по HTTP (предопределенный / используется проверенный библиотекарь)

Заранее благодарю за помощь!

Ответы [ 2 ]

1 голос
/ 22 октября 2008

Ответ, как я только что узнал, заключается в том, что непосредственно перед тем, как я публикую файл (или после того, как я закончу запись в файл), рабочий процесс закроет соединение

Я могу сделать это, установив флажок «Закрыть соединение по завершении» на вкладке параметров диалогового окна «Свойства рабочего процесса».

Спасибо всем!

0 голосов
/ 22 октября 2008

Я полагаю, что ваш коллега прав, публикация по HTTP, скорее всего, должна вестись за пределами DTS, или вам, возможно, придется искать VBS-способ закрытия соединения, но я не уверен, возможно ли это .

...