Mike
2005-04-25 17:21:44 UTC
Есть проект ASP.net, в котором нужно считать инфу с некой БД
(находящейся на линуксовом сервере - T-Bred, если кто в курсе) и выдать
ее в виде красивого Crystal отчета.
В стандартном виндусовом списке ODBC-драйверов нужного нету, ставим его
с сидюка фирмы. Далее создаем ODBC-соединение, прописываем в нем IP,
login и password, cоздаем прямо в .NET-овском проекте файл CrystRep.rpt,
открываем в Add/Remove Database нужное ODBC-соединение, выбираем таблицу
и несколько полей, далее в другом файле проекта пишем:
CrystalReportViewer1.ReportSource="CrystRep.rpt";
Запускаем - все работает, все красивенько выдается.
Скажем, по какому-то конкретному Vendor-у. Добавляем строчку:
CrystalReportViewer1.SelectionFormula=
"{table1.VENDOR_NUMBER} = '77'";
Все по-прежнему работает.
Hо нужно нечто большее. Hапример, в одной таблице - инфа про Purchase
Orders и номера Vendors, в другой - инфа про самих Vendors: номер, имя,
адрес, телефон и т.д. Hужно выдать отчет, сгруппированный по Vendors,
чтобы в заголовке каждой группы было имя, адрес, телефон и т.д., а в
Details уже шел список Purchase Orders этого конкретного Vendor-а.
Присоединяем еще одну таблицу, в закладке Links отмечаем VENDOR_NUMBER,
запускаем - ошибка:
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: CrystalDecisions.CrystalReports.Engine.
InternalException: Failed to open a rowset.
Source Error: An unhandled exception was generated during the execution
of the current web request. Information regarding the origin and
location of the exception can be identified using the exception stack
trace below.
Ладно, убираем Links (может, ODBC не поддерживает всякие Inner Join?),
вместо этого ставим:
CrystalReportViewer1.SelectionFormula=
"{table1.VENDOR_NUMBER} = {table2.VENDOR_NUMBER}";
Все равно та же ошибка. Может, кто-нибудь знает, где нужно копать?
Поддерживают ли ODBC-вызовы хоть какие-то связи между таблицами? Или
дело в "нестандартности" ODBC-драйвера?
(находящейся на линуксовом сервере - T-Bred, если кто в курсе) и выдать
ее в виде красивого Crystal отчета.
В стандартном виндусовом списке ODBC-драйверов нужного нету, ставим его
с сидюка фирмы. Далее создаем ODBC-соединение, прописываем в нем IP,
login и password, cоздаем прямо в .NET-овском проекте файл CrystRep.rpt,
открываем в Add/Remove Database нужное ODBC-соединение, выбираем таблицу
и несколько полей, далее в другом файле проекта пишем:
CrystalReportViewer1.ReportSource="CrystRep.rpt";
Запускаем - все работает, все красивенько выдается.
Скажем, по какому-то конкретному Vendor-у. Добавляем строчку:
CrystalReportViewer1.SelectionFormula=
"{table1.VENDOR_NUMBER} = '77'";
Все по-прежнему работает.
Hо нужно нечто большее. Hапример, в одной таблице - инфа про Purchase
Orders и номера Vendors, в другой - инфа про самих Vendors: номер, имя,
адрес, телефон и т.д. Hужно выдать отчет, сгруппированный по Vendors,
чтобы в заголовке каждой группы было имя, адрес, телефон и т.д., а в
Details уже шел список Purchase Orders этого конкретного Vendor-а.
Присоединяем еще одну таблицу, в закладке Links отмечаем VENDOR_NUMBER,
запускаем - ошибка:
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: CrystalDecisions.CrystalReports.Engine.
InternalException: Failed to open a rowset.
Source Error: An unhandled exception was generated during the execution
of the current web request. Information regarding the origin and
location of the exception can be identified using the exception stack
trace below.
Ладно, убираем Links (может, ODBC не поддерживает всякие Inner Join?),
вместо этого ставим:
CrystalReportViewer1.SelectionFormula=
"{table1.VENDOR_NUMBER} = {table2.VENDOR_NUMBER}";
Все равно та же ошибка. Может, кто-нибудь знает, где нужно копать?
Поддерживают ли ODBC-вызовы хоть какие-то связи между таблицами? Или
дело в "нестандартности" ODBC-драйвера?
--
Best regards
(M)ike
При ответе на e-mail убрать из адреса NOS
Best regards
(M)ike
При ответе на e-mail убрать из адреса NOS