Crystal Reports .Net

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Crystal Reports .Net

Сообщение Ramzes » 02.06.2008 (Пн) 15:36

Для печати отчетов использую Crystal
если печатаю с рабочего места (где студия стоит, где я их создавал, все круто) если с клиентской машинки, просит логинится к БД, хотя я передаю все необходимые параметры
Код: Выделить всё
            ReportDocument reportDoc = new ReportDocument();
            reportDoc.Load("myFile.rpt")
            reportDoc.SetDatabaseLogon("User", "Pass", "Server", "DataBase", true)

куда копать?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 03.06.2008 (Вт) 14:34

значит так, я разобрался, рассказываю :)
*код на C#
кому надо будет переведем :)
using
Код: Выделить всё
using CrystalDecisions;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

процедура создания и вывода на форму отчета, в качестве параметров получает две строковые переменные:
    ReportFileName - путь к файлу отчета
    RecordSelectionFormula- путь к файлу отчета

Код: Выделить всё
        public void GenerateReport(string ReportFileName, string RecordSelectionFormula)
        {
            TableLogOnInfos m_TableLogonInfos = new CrystalDecisions.Shared.TableLogOnInfos();
            ConnectionInfo m_ConnectionInfo = new CrystalDecisions.Shared.ConnectionInfo();
            TableLogOnInfo m_TableLogonInfo = new CrystalDecisions.Shared.TableLogOnInfo();

            m_ConnectionInfo.UserID = m_kernel.User;
            m_ConnectionInfo.Password = m_kernel.Password;
            m_ConnectionInfo.ServerName = m_kernel.Settings.DataBaseSettings.ServerName;
            m_ConnectionInfo.DatabaseName = m_kernel.Settings.DataBaseSettings.DBName;
            m_TableLogonInfo.ConnectionInfo = m_ConnectionInfo;
            m_TableLogonInfos.Add(m_TableLogonInfo);

            foreach (TableLogOnInfo tli in m_TableLogonInfos)
            {
                tli.ConnectionInfo = m_ConnectionInfo;
            }

            ReportDocument reportDoc = new ReportDocument();
            reportDoc.Load(ReportFileName);
            reportDoc.SetDatabaseLogon(m_kernel.User, m_kernel.Password, m_kernel.Settings.DataBaseSettings.ServerName, m_kernel.Settings.DataBaseSettings.DBName, true);
            reportDoc.RecordSelectionFormula = RecordSelectionFormula;
            reportViewer.LogOnInfo = m_TableLogonInfos;
            reportViewer.ReportSource = reportDoc;
            reportViewer.Show();
        }

а потом...
вообщем только это не всегда помагает )))
если на другом компе нет дрйвера SQLCLIN ))) тогда в свойствах DSN меняем его на SQLOLEDB :)

вот теперь все, благодарю за внимание :farao:


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList