Передача коннекта в Crystal Reports
От: Falic www.falicsoft.narod.ru
Дата: 04.06.03 09:15
Оценка:
Всем кто слышит помогите !!!!!!!!!!!!!

Имеется база под SQLServer 2000.
Имеется отчет в кристале который коннектится к базе через More Data Sourse\Microsoft SQL Server
Соответственно передается сервер, база, имя полтзователя и пароль.

Как сделать так, чтобы при вызове в программе передать (или изменить) коннект в этот отчет. Ведь не факт, что имя сервера и базы будет совпадать.
Перепробовал кучу способов (PESetNthTableLogOnInfo,PELogOnServerб PELogOnServerEx), но везде надо вводить пароль.
Бьюсь вторую неделю. Безрезультатно.

Извиняюсь, если сумбурно изложил — чувства переполняют.
Re: Передача коннекта в Crystal Reports
От: Быстрый  
Дата: 04.06.03 09:48
Оценка:
Здравствуйте, Falic,

Попробуй

1. Создать экземпляр объекта
2. OpenReport("Имя_отчёта.rpt")
3. LogOnServer("Имя_dll_для_сервера.dll",
"Имя_сервера",
"",
"Имя_пользователя", &
"Пароль")
4. Preview()
5. LogOffServer(...)

Вы писали:

F>Всем кто слышит помогите !!!!!!!!!!!!!


F>Имеется база под SQLServer 2000.

F>Имеется отчет в кристале который коннектится к базе через More Data Sourse\Microsoft SQL Server
F>Соответственно передается сервер, база, имя полтзователя и пароль.

F>Как сделать так, чтобы при вызове в программе передать (или изменить) коннект в этот отчет. Ведь не факт, что имя сервера и базы будет совпадать.

F>Перепробовал кучу способов (PESetNthTableLogOnInfo,PELogOnServerб PELogOnServerEx), но везде надо вводить пароль.
F>Бьюсь вторую неделю. Безрезультатно.

F>Извиняюсь, если сумбурно изложил — чувства переполняют.
Re[2]: Передача коннекта в Crystal Reports
От: Falic www.falicsoft.narod.ru
Дата: 04.06.03 12:22
Оценка:
Здравствуйте, Быстрый, Вы писали:

Б>Здравствуйте, Falic,


Б>Попробуй


Б>1. Создать экземпляр объекта

Б>2. OpenReport("Имя_отчёта.rpt")
Б>3. LogOnServer("Имя_dll_для_сервера.dll",
Б> "Имя_сервера",
Б> "",
Б> "Имя_пользователя", &
Б> "Пароль")
Б>4. Preview()
Б>5. LogOffServer(...)

Б>Вы писали:


Так в том и дело, что при вызове из программы пароль, под которым вошел пользователь, я не знаю.
Re[3]: Передача коннекта в Crystal Reports
От: Vitaton Россия  
Дата: 04.06.03 12:31
Оценка:
Здравствуйте, Falic, Вы писали:

F>Здравствуйте, Быстрый, Вы писали:


Б>>Здравствуйте, Falic,


Б>>Попробуй


Б>>1. Создать экземпляр объекта

Б>>2. OpenReport("Имя_отчёта.rpt")
Б>>3. LogOnServer("Имя_dll_для_сервера.dll",
Б>> "Имя_сервера",
Б>> "",
Б>> "Имя_пользователя", &
Б>> "Пароль")
Б>>4. Preview()
Б>>5. LogOffServer(...)

Б>>Вы писали:


F>Так в том и дело, что при вызове из программы пароль, под которым вошел пользователь, я не знаю.


Как это не знаете? Если это не смешанная аутентификация, вы должны были сделать в своей программе диаолг ввода и имени и пароля пользователя.
Или че-то я не понял?
Useless lamer
Re[3]: Передача коннекта в Crystal Reports
От: Быстрый  
Дата: 04.06.03 17:16
Оценка:
Здравствуйте, Falic,

В этом случае нужно в SQL сервере завести пользователя, под которым всегда и вызывать отчёт несмотря на то, какой пользователь и пароль были введены при входе в программе клиента.


Вы писали:

F>Здравствуйте, Быстрый, Вы писали:


Б>>Здравствуйте, Falic,


Б>>Попробуй


Б>>1. Создать экземпляр объекта

Б>>2. OpenReport("Имя_отчёта.rpt")
Б>>3. LogOnServer("Имя_dll_для_сервера.dll",
Б>> "Имя_сервера",
Б>> "",
Б>> "Имя_пользователя", &
Б>> "Пароль")
Б>>4. Preview()
Б>>5. LogOffServer(...)

Б>>Вы писали:


F>Так в том и дело, что при вызове из программы пароль, под которым вошел пользователь, я не знаю.
Re[4]: Передача коннекта в Crystal Reports
От: Falic www.falicsoft.narod.ru
Дата: 05.06.03 04:55
Оценка:
Здравствуйте, Vitaton, Вы писали:

V>Здравствуйте, Falic, Вы писали:


F>>Здравствуйте, Быстрый, Вы писали:


Б>>>Здравствуйте, Falic,


Б>>>Попробуй


Б>>>1. Создать экземпляр объекта

Б>>>2. OpenReport("Имя_отчёта.rpt")
Б>>>3. LogOnServer("Имя_dll_для_сервера.dll",
Б>>> "Имя_сервера",
Б>>> "",
Б>>> "Имя_пользователя", &
Б>>> "Пароль")
Б>>>4. Preview()
Б>>>5. LogOffServer(...)

Б>>>Вы писали:


F>>Так в том и дело, что при вызове из программы пароль, под которым вошел пользователь, я не знаю.


V>Как это не знаете? Если это не смешанная аутентификация, вы должны были сделать в своей программе диаолг ввода и имени и пароля пользователя.

V>Или че-то я не понял?

Дело в том, что я пишу расширения ActiveX для большой корпоративной системы, которая работает с БД. Пароль вводится при входе в систему, а там я могу только получить текущий коннект к базе. Соответственно пароля я узнать не могу (самому дали одного юзера для разработки). Я нашел в документации, что можно как-то передать существующий коннект ( по моему через Connect, LogonInfo и LogOnServer либо есть какая то процедура в crpe32.dll) но как это сделать я не нашел.
Re: Передача коннекта в Crystal Reports
От: Alexey Kirpa  
Дата: 05.06.03 18:43
Оценка:
Здравствуйте, Falic, Вы писали:

F>Как сделать так, чтобы при вызове в программе передать (или изменить) коннект в этот отчет. Ведь не факт, что имя сервера и базы будет совпадать.

F>Перепробовал кучу способов (PESetNthTableLogOnInfo,PELogOnServerб PELogOnServerEx), но везде надо вводить пароль.

Crystal Reports может пользоваться уже имеющимся HDBC, так что
последовательность проста:

PEOpenPrintJob(...);
PELogOnSQLServerWithPrivateInfo("PDSODBC.DLL", (BYTE*) hDBC);
... << RSDN@Home 1.0 beta 3 >>
Re[2]: Передача коннекта в Crystal Reports
От: Falic www.falicsoft.narod.ru
Дата: 06.06.03 05:00
Оценка:
Здравствуйте, Alexey Kirpa, Вы писали:

AK>Crystal Reports может пользоваться уже имеющимся HDBC, так что

AK>последовательность проста:

AK>PEOpenPrintJob(...);

AK>PELogOnSQLServerWithPrivateInfo("PDSODBC.DLL", (BYTE*) hDBC);

А где взять этот hDBC?
Я с этим никогда не работал.
Re[3]: Передача коннекта в Crystal Reports
От: Alexey Kirpa  
Дата: 07.06.03 10:50
Оценка:
Здравствуйте, Falic, Вы писали:

F>Здравствуйте, Alexey Kirpa, Вы писали:


F>А где взять этот hDBC?

F>Я с этим никогда не работал.

Это дескриптор соединения с БД для ODBC API.
А вот как тебе его получить, зависит от оч. многих факторов.

F>Дело в том, что я пишу расширения ActiveX для большой корпоративной системы, которая работает с БД. Пароль вводится при входе в систему, а там я могу только получить текущий коннект к базе


А в каком виде ты получаешь коннект к базе?
И вообще, на чем написано клиентское приложение?

Для большей информации о HDBC, см. MSDN
(keywords: SQLAllocHandle, SQLConnect/SQLDriverConnect).
... << RSDN@Home 1.0 beta 3 >>
Re[4]: Передача коннекта в Crystal Reports
От: Falic www.falicsoft.narod.ru
Дата: 09.06.03 09:38
Оценка:
Здравствуйте, Alexey Kirpa, Вы писали:

AK>Здравствуйте, Falic, Вы писали:


F>>Здравствуйте, Alexey Kirpa, Вы писали:


F>>А где взять этот hDBC?

F>>Я с этим никогда не работал.

AK>Это дескриптор соединения с БД для ODBC API.

AK>А вот как тебе его получить, зависит от оч. многих факторов.

F>>Дело в том, что я пишу расширения ActiveX для большой корпоративной системы, которая работает с БД. Пароль вводится при входе в систему, а там я могу только получить текущий коннект к базе


AK>А в каком виде ты получаешь коннект к базе?

AK>И вообще, на чем написано клиентское приложение?

AK>Для большей информации о HDBC, см. MSDN

AK>(keywords: SQLAllocHandle, SQLConnect/SQLDriverConnect).

ActiveX пишу на Delphi, а соннект получаю как объект ADOConnection.
Re[5]: Передача коннекта в Crystal Reports
От: Alexey Kirpa  
Дата: 09.06.03 19:41
Оценка:
Здравствуйте, Falic, Вы писали:

F>ActiveX пишу на Delphi, а соннект получаю как объект ADOConnection.


К сожалению, тут я бессилен.
Я лишь указал рабочий способ, но при работе с ODBC.
... << RSDN@Home 1.0 beta 3 >>
Re[6]: Передача коннекта в Crystal Reports
От: Falic www.falicsoft.narod.ru
Дата: 10.06.03 04:44
Оценка:
Здравствуйте, Alexey Kirpa, Вы писали:

И на том спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.