Crystal Reports неудавшийся вход в систему базы данных

После расходов хороших 3 - 4 часы на Google, пытающемся найти любое решение моей проблемы, у меня не было большой удачи.

В основном мы используем кристаллические отчеты для наших приложений.NET с бэкэндом SQL-сервера, у нас есть многие клиенты каждый с их собственным сервером и таким образом, нашим отчетам нужно было установить их соединения динамично. Вплоть до неделю назад этого хорошо работал. Однако несколько дней назад клиент сообщил, что они получали приглашение ко входу в систему базы данных для отчета (только один отчет, остальные хорошо работали). Мы были вполне озадачены, но нам удалось воспроизвести его на нетбуке, которому не установили Visual Studio или SQL-сервер. В конце dev решил воспроизвести отчет в надежде, это была просто причуда в том конкретном отчете.

К сожалению, новый клиент сегодня также испытал ту же проблему, но на этот раз для каждого кристаллического отчета они имели - и также они работали над нетбуком, таким образом, мы действительно вполне потеряны здесь.

Ниже снимок экрана того, что наши клиенты представлены с -

Screenshot

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

                cI.ServerName = (string)builder["Data Source"];
                cI.DatabaseName = (string)builder["Initial Catalog"];
                cI.UserID = (string)builder["User ID"];
                cI.Password = (string)builder["Password"];

                foreach (IConnectionInfo info in cryRpt.DataSourceConnections)
                {
                    info.SetConnection(cI.ServerName, cI.DatabaseName, cI.UserID, cI.Password);
                }

                foreach (ReportDocument sub in cryRpt.Subreports)
                {
                    foreach (IConnectionInfo info in sub.DataSourceConnections)
                    {
                        info.SetConnection(cI.ServerName, cI.DatabaseName, cI.UserID, cI.Password);
                    }
                }

Как всегда, любая справка очень ценится.

5
задан Glorfindel 26 July 2019 в 03:11
поделиться

2 ответа

Решение найдено, оказалось, что построитель соединений, который клиент использовал для настройки своей системы, не вводил имя экземпляра. Скорее всего, приложение .net отлично с этим работало. Однако теперь отсортированные отчеты с кристаллами работают безупречно.

Спасибо за ваш вклад, Крейг.

2
ответ дан 15 December 2019 в 00:53
поделиться

Возможно, проблема в том, как вы задали информацию для аутентификации. Рассматривали ли вы возможность использования метода ReportDocument.SetDatabaseLogon ? Вызывайте его один раз для каждого уникального соединения с БД в отчете. Это избавит от необходимости перечислять все таблицы в отчете, а также, насколько я помню, нумеровать таблицы подотчетов.

2
ответ дан 15 December 2019 в 00:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: