powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Создание DTS Package
7 сообщений из 7, страница 1 из 1
Создание DTS Package
    #32013236
rmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли создать пакет DTS с параметрами, не используя VBScript (т.е создать хранимую процедуру, использующую возможности DTS)?
...
Рейтинг: 0 / 0
Создание DTS Package
    #32013238
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, то из вашего вопроса совершенно непонятно, что вам собственно нужно.

>Можно ли создать пакет DTS с параметрами
Можно использовать DTS Global Variables как для передачи параметров внутрь DTS, так и из него.

>Можно ли создать пакет DTS с параметрами, не используя VBScript
Не используя для чего - для создания DTS, для создания/чтения/обновления DTS Global Variables, вообще не используя VBScript внутри DTS ?


>т.е создать хранимую процедуру, использующую возможности DTS
Хранимая процедура, использующая возможности DTS - это процедура, которая запускает готовый DTS или логически работающая как какой-то DTS ? Или нужно реализовать в процедуре отдельные Task-и, которые есть в DTS?
...
Рейтинг: 0 / 0
Создание DTS Package
    #32013334
rmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за внимание к вопросу. Дело в том, что нужно передать данные на сервер, используя в качестве источника Excel-таблицу. Имя источника заранее неизвестно, а процесс хотелось бы автоматизировать (аплоадим Excel через Сеть, потом переносим данные в SQL Server). Я создал пакет DTS, но он настроен на конкретный файл. Со скрипт-языками просто связываться неохота (хотя придется, если не будет других вариантов). Хотелось бы создать хранимую процедуру, которая бы перебрасывала данные.
...
Рейтинг: 0 / 0
Создание DTS Package
    #32013348
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде можно только из скрипт-языков или исползуя КОМ из ХП. Я думаю, лучьше сделать специальную табличку и ...
...
Рейтинг: 0 / 0
Создание DTS Package
    #32013350
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решений я могу предложить 2

1. Все-таки DTS и VBScript, который динамически меняет свойство Excel Connection-a. Взято из работающего DTS-а. Данный пример формирует имя входного файла в виде COM_EE_yymmdd.XLS в зависимости от текущей даты


Function Main()
Dim dtsPackage
Set dtsPackage = DTSGlobalVariables.Parent

Dim dtsExcelConnection
'"Input File" - название моего Excel Connection-a
Set dtsExcelConnection = DtsPackage.Connections("Input File")

'Formating new input file name from current Date and Time
Dim InputFilename
'Путь до файла занесен в Global Variables "WorkDirectory" потому, что используется
' еще в других Task-ах. Можно и напрямую прописать в скрипте.
InputFilename = DTSGlobalVariables("WorkDirectory").Value + "COM_EE_" + Right(CStr(Year(Now)), 2)
If Month(Now) < 10 Then
InputFilename = InputFilename + "0"
End If
InputFilename = InputFilename + Cstr(Month(Now))

If Day(Now) < 10 Then
InputFilename = InputFilename + "0"
End If
InputFilename = OutputFilename + Cstr(Day(Now))

InputFilename = InputFilename + ".XLS"
dtsExcelConnection.DataSource = InputFilename


Main = DTSTaskExecResult_Success
End Function


2. Создание Linked Server-а

exec sp_addlinkedserver @server = 'MyExcel', @srvproduct = 'Excel', @provider = 'Microsoft.Jet.OLEDB.4.0'
, @datasrc = ' full_path_to_excel_file ' , @provstr = 'Excel 5.0'

/*sp_addlinkedserver должна выполняться в отдельном batch-e*/
go

/*select подразумевает любую процедуру(ы)*/
select * from myexcel...sheet1$

exec sp_dropserver @server = 'MyExcel'


Лично мне больше нравиться DTS
...
Рейтинг: 0 / 0
Создание DTS Package
    #32013355
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно абсолютно без скрипта. В SQL Server 2000 появилась совершенно замечательная задача Dynamic Properties Task, которая позволяет делать разные замечательные вещи, в том числе и отвечает на Ваш вопрос. Создаем абсолютно dummy соединение с Excelным файлом. Заводим Dynamic Properties Task. Открываем ее св-ва, говорим Add, слева среди Connections выбираем этот самый Excel, справа в свойствах выбираем его DataSource и говорим Set. Вверху в комбобоксе выбираем, откуда будет браться значение для строки соединения, например, из глобальной переменной пакета, выбираем эту переменную и говорим ОК. После этого при запуске пакета указываем значение этой переменной: см. ключ /A утилиты dtsrun.
...
Рейтинг: 0 / 0
Создание DTS Package
    #32013369
rmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое всем, особенно деду Маздаю!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Создание DTS Package
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]