2016-03-31 5 views
1

Мое приложение в MVC 4 с Sql Anywhere 16 ODBC с использованием инфраструктуры Entity. Я использовал Visual Studio 2010. Требование - это многопользовательский арендатор, поэтому я создал динамическую цепочку соединений на моем Global.asax, и как только основная база данных была подключена, я создаю строку подключения базы данных пользователя на моем контроллере учетной записи.Sybase iAnywhere.Data.SQLAnywhere.SAException: имя базы данных DSN не существует

Приложение работает хорошо, когда я запускаю визуальную студию. но когда я публикую это приложение в IIS 8.5 и загружаю приложение в браузере, он показывает ниже ошибку.

<ErrorType>System.Data.EntityException: The underlying provider failed 
on Open. ---&gt; iAnywhere.Data.SQLAnywhere.SAException: DSN 'MainDB' 
does not exist at iAnywhere.Data.SQLAnywhere.SAConnection.Open() 
at 
System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean 
openCondition, DbConnection storeConnectionToOpen, DbConnection 
originalConnection, String exceptionCode, String attemptedOperation, 
Boolean&amp; closeStoreConnectionOnFailure) --- End of inner 
exception stack trace --- at 
System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean 
openCondition, DbConnection storeConnectionToOpen, DbConnection 
originalConnection, String exceptionCode, String attemptedOperation, 
Boolean&amp; closeStoreConnectionOnFailure) at 
System.Data.EntityClient.EntityConnection.Open() at 
PDMSReporter.Controllers.AccountController.Login(LoginModel Login) in 
E:\Projects\Triforce_PDM 
Reporter\Latest_PDMSReporter\PDMSReporter\PDMSReporter\Controllers\AccountController.cs:line 
56</ErrorType> 

<ErrorDesc>The underlying provider failed on Open.</ErrorDesc> 

Я пробовал много, чтобы исправить эту проблему. но не нашел для этого подходящего решения.

Пожалуйста, помогите мне исправить эту проблему или предложить сообщение, где я могу его решить.

ответ

0

Сообщение об ошибке сообщает: «DSN« MainDB »не существует». Строка подключения использует DSN, который клиент не может найти. Это может быть связано с тем, что вы создаете пользовательский DSN, а не системный DSN - если ваш клиент работает как служба (т. Е. В IIS), он не может читать пользовательские DSN.

Если вы создаете DSN с помощью утилиты dbdsn, убедитесь, что вы используете переключатель -ws вместо -w.

+0

oh! k спасибо за помощь. Можете ли вы рассказать о том, как сделать системный DSN (или какие-либо шаги или блог). Мне жаль, но я новичок в Sql Anywhere, поэтому у меня нет слишком большой идеи. – CrazyDev

+0

Привет, я могу добавить систему DSN и ее работы отлично для меня спасибо за вашу помощь. – CrazyDev

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