Форум: "Базы";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
ВнизЛюди добрые, поможите, как запустить DTS пакет Найти похожие ветки
← →
Павел Калугин © (2008-02-27 13:21) [0]1. есть имя сервера, имя DTS пакета, логин-пароль естественно дельфя, мои кривые руки и дырявая голова
требуется - запустить DTS пакет.
2. Есть готовый пакет на сервере. Как можно перед исполнением пункта 1 указать какой файл ему цеплять? Или для этого надо пересоздавать пакет?
← →
Павел Калугин © (2008-02-27 15:21) [1]Использую дельфю 2006
дочитал до импорта библиотеки dtspkg.dll
Импортирую библиотеку
подключаю модуль DTS_LIB
получаю следующий код
uses
Forms,
fMain in "fMain.pas" {Form1},
DTS_TLB in "c:\program files\borland\bds\4.0\Imports\DTS_TLB.pas";
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
получаю при компиляции
[Pascal Error] LoadFromMail.dpr(12): E2018 Record, object or class type required
отключаю DTS_TLB и все в порядке. Что я мог сделать не так?
← →
Павел Калугин © (2008-02-27 15:26) [2]хмм. и это вычитал...
← →
Petr V. Abramov © (2008-02-27 17:34) [3]пеши исчо, интересный блог получился
:)
← →
Павел Калугин © (2008-02-27 21:58) [4]> [3] Petr V. Abramov © (27.02.08 17:34)
Петрух, скучно...
Нашел блин ответ на sql.ru. и ссылку на борландовый сайт. А там мертво уже. Переехало на КодеГир и криво переехало. А была большая статья с примерами, как пишут.
← →
sniknik © (2008-02-28 01:19) [5]> begin
> Application.Initialize;
> Application.CreateForm(TForm1, Form1);
> Application.Run;
> end.
>
> получаю при компиляции
> [Pascal Error] LoadFromMail.dpr(12): E2018 Record, object or class type required
>
> отключаю DTS_TLB и все в порядке. Что я мог сделать не так?
begin
Forms.Application.Initialize;
Forms.Application.CreateForm(TForm1, Form1);
Forms.Application.Run;
end.
догадаешься почему?
← →
Павел Калугин © (2008-02-28 10:26) [6]
> sniknik © (28.02.08 01:19) [5]
Да нет. Не догадаюсь, уже уже прочитал про пространство имен.
Остается вопрос где почитать в доступной чайнику форме про работу с самим пакетом.
на sql.ru нашел ссылку на статью и пример "Developing for SQL Server 2000"
http://bdn.borland.com/article/borcon/0,1919,31625,00.html
но она того. битая.
погуглив нашел http://conferences.codegear.com/article/31625
но там не совсем то, что искалось
так что вопрос управления пакетом пока расковыриваю методом антинаучного тыка :(
дошел до следующего
пакет должен получить данные из дбфpack.LoadFromSQLServer("SERVER","sa","PASSW",0,"","","","ИМЯ ПАКЕТА",EmptyParam);
pack.Tasks.Item(1).Properties.Item(4).Value:="TEST"; //SourceObjectName по идее название таблицы дбф
pack.Connections.Item(1).DataSource:="\\ukc\D$\micex_quotes\cur"; // путь к файлам
Pack.Set_LogFileName("d:\ErrorFile.txt"); // куда писать лог ошибок
pack.Execute; // собственно запуск
получаю ошибку
Step Error Source: Microsoft OLE DB Provider for SQL Server
Step Error Description:[DBNETLIB][ConnectionOpen (Connect()).]SQL-сервер не существует, или отсутствует доступ.
остается понять что не найдено файл или сервер
← →
sniknik © (2008-02-28 10:35) [7]чего тут понимать то? ошибка разве не очевидно прямым текстом написанная...
> SQL-сервер не существует, или отсутствует доступ.
причем тут файл? залогиниться ты своими параметрами не можеш.
← →
Павел Калугин © (2008-02-28 10:56) [8]отсюда вопрос: запускать подобное безобразие надо на машине сервере или на клиенте?
← →
sniknik © (2008-02-28 11:26) [9]Павел Калугин © (27.02.08 15:21) [1]
> ...
> дочитал до импорта библиотеки dtspkg.dll
> ...
отсюда вопрос: а на клиенте данная библиотека есть? раз ты через нее работаешь...
← →
Плохиш © (2008-02-28 11:40) [10]
> Павел Калугин © (28.02.08 10:26) [6]
Майкрософтовская утилита по импорту/экспорту данных, входящая в поставку mssql-сервера, на оследней странице настроек имеет галочку "сохранить (или создать) vb-скрипт". Рекомендую установить её и после просто перевести vb-скрипт в синтаксис делфи.
← →
Павел Калугин © (2008-02-28 12:11) [11]
> sniknik © (28.02.08 11:26) [9]
естественно
метод тыка таки работает:) ну не надо сервер приемник указывать "local", не надо.
Подставилpack.Connections.Item(2).Properties.Item(9).Value:="SERVER"; // сервер приемник
pack.Connections.Item(2).Properties.Item(10).Value:="LOGIN"; // логин
pack.Connections.Item(2).Properties.Item(11).Value:="PASSW"; // пароль
и вроде как оно заработало
> Плохиш © (28.02.08 11:40) [10]
Спасибо.
Очень посмогло!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.05 c