Ошибка входа в базу данных Crystal Reports с SQL Server 2014 и Windows 10
У меня есть странная (но и общая) проблема с Crystal Reports.
DB – это SQL Server 2014 Express (12.0.2000 или 12.0.2269)
Веб-приложение может без проблем подключаться к БД. Проблема возникает, когда пользователь хочет запустить отчет.
- Почему перемещение нашего веб-сайта .NET / SQL Server на новый хост приведет к превышению размера пула соединений?
- Удалить SQL-членство с сайта
- MS SQL 2008 - Создайте копию базы данных без данных
- Ошибка подключения к SQL Server Express с использованием проверки подлинности SQL Server
- Какой тест будет проверять, насколько хорошо мои тарифы на оборудование для моего продукта ASP.NET, SQL Server, IIS?
Сейчас у меня мало производственных площадок. Виртуальная виртуальная машина Windows Server 2012 R2, две машины Windows Server 2008 R2 и одна машина Windows 10.
Отчеты отлично работают на машинах Windows Server 2008, но не на сервере 2012 R2 или выигрывают 10. Там я ошибочно ошибался. Это даже не работает на моем ноутбуке разработки (Win 10). Я имею в виду, что я могу запускать отчеты из Visual Studio, но не после того, как я их развертываю в IIS.
Обычно сами отчеты используют драйвер sql native client (SQLNCLI11) для подключения к db, некоторые из них используют OLE DB (SQLOLEDB), но это не похоже на проблему, так как я пробовал обе версии, и они оба терпят неудачу.
Теперь, я думаю, возможно, в моем приложении отсутствует какая-то dll, но это же приложение, развернутое для win server 2008, работает нормально. Поэтому я думаю, что это должно быть экологическим. Но что?
Я предполагаю, что клиентские драйверы как-то сломаны, или что-то изменилось в более новых версиях окон.
Итак, я прошу некоторых идей, указать мне в правильном направлении, если у кого-то есть.
Вот фрагмент ошибки:
[COMException (0x8004100f): Database logon failed.] CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0 CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +644 [LogOnException: Database logon failed.] CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +263 CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +1522 CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +704 CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options) +115 CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportFormatType formatType) +96 SYSTEM.Controllers.ReportController.GenerateReport(NameValueCollection Form, String how) in C:\SYSTEM\SYSTEM\Controllers\ReportController.cs:210 SYSTEM.Controllers.ReportController.Index() in C:\SYSTEM\SYSTEM\Controllers\ReportController.cs:467 lambda_method(Closure , ControllerBase , Object[] ) +90
ОБНОВИТЬ:
Кажется, это связано с Windows 10, но я не нашел решения.
SAP говорит, что установить .NET 3.5, потому что он не установлен по умолчанию в WIN 10, но даже когда я это делаю, ошибка сохраняется.
Вы должны установить 13.0.15 версию CR, потому что это единственная, которая поддерживает WIN 10, но, как я уже сказал, она не работает.
Я тестировал три разные машины WIN 10, всегда один и тот же результат.
- Как отключить отладчик Just in Time?
- Делегация Asp.net
- По умолчанию SET NOCOUNT ON в SQL Server 2012
- Настройка ELMAH при регистрации SQL Server с зашифрованной строкой подключения
- Является ли предоставление каждому из моих клиентов выделенной базы данных и пула приложений масштабируемым?
- Нормально ли использовать LocalDb в производстве?
- Почему мой веб-приложение не использует AppPoolIdentity для входа в SQL Server на одном компьютере?
- Долгосрочная хранимая процедура из процесса IIS
У меня возникли проблемы при использовании типа источника данных OLE DB (ADO) вместе с поставщиком собственного клиента. Когда этот Native Client не установлен на компьютере пользователя пользователя, он запрашивает вход в базу данных, и кажется, что логин не будет работать. Моим решением было использовать источник данных OLE DB (ADO) с поставщиком OLEDB. Вы можете увидеть поставщика, посмотрев на свойства источника данных, щелкнув его правой кнопкой мыши. Предпочтительным поставщиком в этом случае является SQLOLEDB, тогда как собственный клиент будет что-то вроде SQLNCLI11.
Если кто-то заинтересован, позвольте мне просто поделиться решением:
Это были не кристальные отчеты, а Windows 10, это был я. Мои отчеты были построены на SQL Server 2008, который использует SQLNCL10, а SQLNCL11 не совместим с ним в обратном порядке, поэтому ошибка входа в базу данных (что совсем не полезно, кстати).
На всякий случай.
Вы должны использовать SQL-клиент 2005 или версию 10 (я думаю).
Crystal Reports действительно проблематично, если использовать самые последние драйверы.
Попробуйте установить соединение с помощью клиентского драйвера SQL 2005 – он будет функционировать …