почему не работает LogOnServerEx в Crystal Report
От: Ворогушин Дмитрий Россия  
Дата: 29.04.02 11:56
Оценка:
Добрый день всем!
Пытаюсь освоить Crystal Rep.
Необходимо в программе изменять местоположение БД, заданное в
шаблоне отчета. Нашел несколько способов:

1)
for i = 1 to Report.Database.Tables.Count
Report.Database.Tables.Item(i).SetLogOnInfo (pServerName As String, [pDatabaseName], [pUserID], [pPassword])
2)
Report.Database.LogOnServer(pDllName As String, pServerName As String, [pDatabaseName], [pUserID], [pPassword])
3)Report.Database.LogOnServerEx(...)

Использую 3):


pApplication.CreateInstance(__uuidof(Application));
pReport = pApplication->OpenReport(ReportPath);                
pReport->get_Database((IDatabase**) &pDatabase);
pReport->Database->LogOnServerEx("pdsoledb.dll",                                              "server", "db", "user", "pwd",                                    "SQLOLEDB",                                              "Provider=SQLOLEDB;"                
                                 "Data Source=server;"
                                 "User ID=user;"
                             "Password=pwd;"                                     "Initial Catalog=db;"                                         "Current Language=Russian");
m_crystrepview.SetReportSource(pReport);    
m_crystrepview.ViewReport();


при запуске приложения отчет призадумывается, а потом выдает сообщение
"Server has not yet been opened"

Помогите с проблемкой!!!
Re: почему не работает LogOnServerEx в Crystal Report
От: vituss Россия  
Дата: 30.04.02 14:10
Оценка:
Здравствуйте Ворогушин Дмитрий, Вы писали:

ВД>Добрый день всем!

ВД>Пытаюсь освоить Crystal Rep.
ВД>Необходимо в программе изменять местоположение БД, заданное в
ВД>шаблоне отчета. Нашел несколько способов:

...skip...

ВД>при запуске приложения отчет призадумывается, а потом выдает сообщение

ВД>"Server has not yet been opened"

ВД>Помогите с проблемкой!!!


Да, документация у них большая по объему и никакая по содержанию.

У меня коннект к MSSQL серверу через OLE DB выглядит так:

m_Application->LogOnServerEx("pdsoledb.dll",                     // DLL Name
                             _bstr_t(__argv[1]),                 // Server 
                             _variant_t(__argv[2]),              // Database
                             _variant_t(__argv[3]),              // Login
                             _variant_t(__argv[4]),              // Password
                             _variant_t("MSSQL"),                // Server Type
                             _variant_t("Provider=SQLOLEDB.1")); // Connection String
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.