abdou_31 Ответов: 1

Запросите логин и логонфайл клиентского компьютера crystal report


I'm using Crystal Report on Visual studio 2019 and I'm trying to connect to the Crystal Report file using Client Computer but it failed, the scenario is that I have a database on My computer and the client have the same database with the same tables and procedures ( but we don't have the same data ). So the difference is in the username , password and the Server Name. I can connect to the Crystal report and call the procedure from the database connected, and the data showing in the Crystal Report Viewer, but the problem appears in the Client Side, when he try to open the Crystal Viewer, he get asked for the database login ( Popup Database login ).

Имя сервера и идентификатор входа, показанные в этом всплывающем окне на клиентском компьютере, являются теми же параметрами моей строки подключения.

Я пытаюсь сделать так, чтобы имя сервера , пароль и идентификатор входа изменялись динамически , когда приложение будет установлено на другом компьютере, я имею в виду, что я хотел бы иметь доступ к этому всплывающему окну с кодом для изменения этих полей и сделать это программно,

Примечание: Я уже опубликовал вопрос с on StackOverflow и искал решение в интернете, но не могу найти то, что мне нужно.

Что я уже пробовал:

Код C# ( CrystalReport.xaml.cs )

private void CrystalReportsViewer_Loaded(object sender, RoutedEventArgs e)
       {
           try
           {

               CrystalReport1 cry1 = new CrystalReport1();
               cry1.Load(@"CrystalReport1.rpt");

               GlobalConfig.sql.ConnectionString = GlobalConfig.connectionString;
               GlobalConfig gb = new GlobalConfig();
               using (IDbConnection connection = GlobalConfig.sql)
               {
                   List<string> ls = new List<string>();
                   ls = gb.getConnectionlogin();

                   cry1.SetDatabaseLogon(ls[0], ls[1]);
                   crysview.ViewerCore.ReportSource = cry1;
               }

           }
           catch(Exception es)
           {
               Console.WriteLine("Error load file   " + es);
           }


       }


https://i.stack.imgur.com/HObSq.png[^]

1 Ответов

Рейтинг:
1

Gerry Schmitz

По-видимому, лучше всего использовать встроенную Безопасность Windows для подключения вашего "приложения" к SQL Server, получения набора данных и передачи его в CR.

Объект sqlconnectionstringbuilder.Свойство IntegratedSecurity (System.Data.SqlClient) | Microsoft Docs[^]