Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.17;
Скачать: CL | DM;

Вниз

Люди добрые, поможите, как запустить 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
9-1171909006
Xandr
2007-02-19 21:16
2008.08.17
Data Driven Game Engine


2-1216092785
Гость
2008-07-15 07:33
2008.08.17
Событие OnClick


15-1212854564
VirEx
2008-06-07 20:02
2008.08.17
FileWatcher+Sort


1-1196705497
Dib@zol
2007-12-03 21:11
2008.08.17
PopUp Menu + Tray


2-1215783986
MaximMar
2008-07-11 17:46
2008.08.17
Число, TDateTime