2012-05-19 3 views
1

У меня есть приложение в ASP.NET (C#), в котором я использую Sap Crystal Reports для Visual Studio. В VS все работает отлично. Но когда я развертываю его в IIS, возникает ошибка «Ошибка входа в систему». Когда я устанавливаю CrystalReportViever «Enable Database Logon Prompting», он заставляет меня запрашивать имя пользователя и пароль, но не генерирует ошибку и не показывает отчет. Я устанавливаю «Включить запуск входа в базу данных» только для целей тестирования, иначе я отправлю параметры входа ReportDocument.SetDatabaseLogon (пользователь, пароль, «мое имя dsn», «»). Опять же, все работает отлично в VS. Я использую: - Windows 7 Enterprise 64 бит - Visual Studio 2010 (C#) - SAP Crystal Reports, версия для VS 2010 - My App Удостоверение пула в IIS является NetworkServise - Я Объединив данные из Oracle хранимой процедуры - Я использую Системную DSN для подключения к базе данныхCrystal Reports: Ошибка входа в базу данных

Я с нетерпением жду ваших ответов. Заранее спасибо.

+0

Почему вы используете DSN? – skhurams

+0

@skhurams Потому что все руководства Crystal Reports говорят, что используют Системный DSN. Но я изменил его на Oracle Server. Сейчас все работает хорошо. Слава Богу. –

+0

Спасибо за ваше время, если моя проблема не была решена. Я уверен, что вы сказали бы мне то же самое :) –

ответ

1

Спасибо всем за ваше время.

Раньше я пользовался Пользователем DSN, и у меня «Не удалось открыть соединение. Не удалось открыть имя« report name ».rpt соединения, когда я развернул приложение. Впоследствии я сменил его на SystemDSN. Предыдущая ошибка не удалась, но на этот раз произошла ошибка «Ошибка входа в базу данных».

Наконец-то я решил свою проблему, изменив форму соединения System DSN на Oracle Server. Сейчас все работает очень хорошо. Подумайте об этом, если у вас есть такая же проблема.

+0

Можете ли вы объяснить более подробно? Системный DSN находится в ODBC Data Source Administrator, верно? Итак, где находится этот сервер Oracle? –

5

Ugh, Oracle. :) Обычно я не использую системные DSN с Crystal, но для Oracle это единственный способ, с помощью которого я смог подключиться. Насколько я помню, вам нужно убедиться, что DSN для Oracle настроен на сервере в «32-разрядном ODBC Data Soruse Administrator». Это был единственный способ, с помощью которого я смог успешно подключиться к Oracle через Crystal.

Via .Net (C# или VB), это еще одна история. Я не думаю, что вы являетесь идентификатором пула приложений, это будет иметь значение в этом случае, так как вы, вероятно, собираетесь использовать имя пользователя/пароль Oracle для подключения.

90% вопросов, на которые я отвечаю, касаются Crystal Reports и изменения информации о соединении. У меня есть некоторый код, я использую в обертку, которая работает для меня в этом блоге:

http://www.blakepell.com/2012-05-22-crystal-reports-extension-methods

Имя пользователя, которое оракул имя пользователя, пароль пароль оракул, имя сервера, однако это имя из DSN. Не спрашивайте меня, почему, но это всегда работает для меня. : p

+0

Заключительное примечание. Я собираю некоторые методы расширения Crystal Report в настоящее время, чтобы сделать это проще для обмена в будущем , Если я это сделаю, я постараюсь вспомнить, чтобы вернуться сюда и разместить ссылку на них. –

+0

Собственно, вы можете получить методы расширения, которые я собрал в VB или C# по адресу: http://www.blakepell.com/Blog/?p=487 –

2

У нас было подобное сообщение об ошибке/ошибке: CR работал нормально на большинстве ПК, включая производственный сервер, но на одном конкретном dev. ПК это не так. Мы проверили драйверы источников базы данных, и «SQL Native Client» отсутствовал, когда присутствовали «клиент SQL Server» и «собственный клиент SQL Server». Мы установили версию 2005 отсюда http://www.microsoft.com/en-us/download/details.aspx?id=11988 (для 64-битной ОС) и она начала работать.

+0

Благодарю вас за ответ. Я также решил его, изменив соединение с Oracle Server. –

0

Ошибка строки подключения. обновите код следующим образом:

1.clear набор данных.
2.set table или tables.
3.don't набор данных и набор данных. потому что вы отправили данные в таблицах в хрустальный отчет и не нуждаетесь в подключении к серверу или базе данных.
4.refresh reportdocument.
, например:

MyCrystalReportSource.ReportDocument.DataSourceConnections.Clear(); 
MyCrystalReportSource.ReportDocument.Database.Tables[0].SetDataSource(MyDataSet.Tables[0]); 
MyCrystalReportSource.ReportDocument.Refresh(); 
MyCrystalReportSource.ReportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, reportTitle); 
1

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

Проблема заключается в том, что клиент SQL Native не установлен на сервере Prod. Мы изменили отчеты для использования OLEDB.

Report Designer -> 
Right Click on Background -> 
Database -> 
Set Datasource location -> 
In the 'Replace With:' section, Create a New Connection using OLE DB (ADO) -> 
Microsoft OLE DB Provider for SQL Server 

Мы выбрали SQL Server Native Client 11.0, и это вызвало ошибку при развертывании.

До этого я пробовал все, x86/x64, изменения в пуле приложений, устанавливая сумасшедшие версии Crystal 13, вот и все.

+0

Я подключаюсь к PeopleSoft для запуска запроса. Это не относится к такой ситуации. –

Смежные вопросы