![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Люди добрые, поможите, как запустить DTS пакет [D7, MSSQL]
Павел Калугин © (2008-02-27 13:21:00)1. есть имя сервера, имя DTS пакета, логин-пароль естественно дельфя, мои кривые руки и дырявая голова
требуется - запустить DTS пакет.
2. Есть готовый пакет на сервере. Как можно перед исполнением пункта 1 указать какой файл ему цеплять? Или для этого надо пересоздавать пакет?
Павел Калугин (2008-02-28 12:11:00) [1]
> 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]
Спасибо.
Очень посмогло!
Плохиш (2008-02-28 11:40:00) [2]
> Павел Калугин © (28.02.08 10:26) [6]
Майкрософтовская утилита по импорту/экспорту данных, входящая в поставку mssql-сервера, на оследней странице настроек имеет галочку "сохранить (или создать) vb-скрипт". Рекомендую установить её и после просто перевести vb-скрипт в синтаксис делфи.
sniknik (2008-02-28 11:26:00) [3]Павел Калугин © (27.02.08 15:21) [1]
> ...
> дочитал до импорта библиотеки dtspkg.dll
> ...
отсюда вопрос: а на клиенте данная библиотека есть? раз ты через нее работаешь...
Павел Калугин (2008-02-28 10:56:00) [4]отсюда вопрос: запускать подобное безобразие надо на машине сервере или на клиенте?
sniknik (2008-02-28 10:35:00) [5]чего тут понимать то? ошибка разве не очевидно прямым текстом написанная...
> SQL-сервер не существует, или отсутствует доступ.
причем тут файл? залогиниться ты своими параметрами не можеш.
Павел Калугин (2008-02-28 10:26:00) [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 01:19:00) [7]> 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-27 21:58:00) [8]> [3] Petr V. Abramov © (27.02.08 17:34)
Петрух, скучно...
Нашел блин ответ на sql.ru. и ссылку на борландовый сайт. А там мертво уже. Переехало на КодеГир и криво переехало. А была большая статья с примерами, как пишут.
Petr V. Abramov (2008-02-27 17:34:00) [9]пеши исчо, интересный блог получился
:)
Павел Калугин (2008-02-27 15:26:00) [10]хмм. и это вычитал...
Павел Калугин (2008-02-27 15:21:00) [11]Использую дельфю 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 и все в порядке. Что я мог сделать не так?