Решение Telerik "Live Demos" - строки подключения и настройка базы данных - PullRequest
0 голосов
/ 08 сентября 2011

Требуется человек, который ранее настраивал элементы управления Telerik Rad для ASP.NET AJAX Live Demos ... Недавно я загрузил элементы управления Telerik Rad для ASP.NET AJAX.Я нахожусь в процессе обновления некоторого кода нашей компании с использованием платформы Telerik Rad Controls для ASP.NET (не AJAX) примерно 5-6 лет назад до новой платформы AJAX.Многие из старых элементов управления не работают в последних версиях браузера (Google Chrome 12, Mozilla Firefox, Internet Explorer).Некоторые элементы управления работают в некоторых браузерах, но не в других, и иногда это не всегда тот же браузер, где он сломался.

Я приложил все усилия, чтобы исправить существующие проблемы в рамках нашей компании, но у нас все еще есть некоторые проблемы, ранее опубликованные мной как вопросы.Это то, что я пытаюсь исправить.Затем я приступил к установке демонстрационного проекта.

Наша компания еще не использует Visual Studio 2010, поэтому вчера я понизил проект Telerik Live Demos до Visual Studio 2008. Я вручную преобразовал * .slnфайл, сделав 3 изменения.К счастью, не было файлов .csproj / .vbproj (очевидно, поскольку в их проекте веб-сайта есть оба языка).Затем я изменил версию .NET с 4.0 на 3.5, произвел необходимые обновления Bin35 в папке bin веб-сайта, удалил 4 различных библиотеки .NET 4.0 в проекте и выгрузил все файлы, используя эти сборки, внес необходимые изменения в IIS 7,скомпилировал решение и все было хорошо ....

Пока я не попытался просмотреть некоторые элементы управления.Затем я обнаружил, что у них есть 2 базы данных (Northwind и Telerik), которые нужно загрузить (файлы .mdf / .ldf), и присоединить к SQL Server 2008. Я сделал это сегодня, обновил строки подключения, но я 'У меня все еще есть проблема.Я надеюсь, что это последняя из многих проблем, которые мне нужно исправить, чтобы заставить это работать, чтобы я мог понять структуру.

К вашему сведению: я сейчас использую файл web.config.35 в качестве файла web.config.Я также изменил версию .NET решения / проекта с 2.0 на 3.5.Это нормально?Я подумал, что это было бы, так как 2.0 dll все еще может нормально функционировать на сайте 3.5 ... так как это все еще архитектура 2.0.

Может кто-нибудь объяснить мне, для чего предназначены все эти строки соединений и необходимые настройки?У меня есть файлы * .mdf и * .ldf, прикрепленные к SQL Server, но они все еще находятся в интегрированном режиме (для доступа).Я также переименовал базы данных ... после присоединения и добавления файлов * .mdf имена баз данных были ОЧЕНЬ ДЛИННЫМИ!

строки подключения web.config:

    <connectionStrings>
        <add name="NorthwindConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
        <add name="TelerikConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Telerik.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
        <add name="NorthwindConnectionString35" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
        <add name="TelerikConnectionString35" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Telerik.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
        <add name="NorthwindEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Northwind.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
        <add name="TelerikEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Telerik.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
        <add name="QSFRatingsConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|QSFRatings.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
        <add name="SelfReferencingDbConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|TelerikSelfReferencingDb.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
    </connectionStrings>

По-прежнему появляется эта ошибка при просмотре элемента управления ComboBox в Live Demos (при запуске веб-сайта Live Demos):

Server Error in '/' Application.
--------------------------------------------------------------------------------

Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[SqlException (0x80131904): Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4849015
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2394
   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +144
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +342
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +4863459
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
   System.Data.SqlClient.SqlConnection.Open() +122
   System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +31
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +112
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +287
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1297
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +19
   Telerik.Web.UI.RadComboBox.OnDataBinding(EventArgs e) +635
   Telerik.Web.UI.RadComboBox.PerformSelect() +21
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
   Telerik.Web.UI.RadComboBox.DataBind() +37
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
   System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +22
   Telerik.Web.UI.RadComboBox.OnPreRender(EventArgs e) +15
   System.Web.UI.Control.PreRenderRecursiveInternal() +80
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.4961; ASP.NET Version:2.0.50727.4955 

1 Ответ

1 голос
/ 08 сентября 2011

Предполагая, что у вас есть учетные данные администратора, которые позволяют вашему приложению присоединять файлы .mdf к серверу SQL, установите User Instance = false ( Edit: измените это значение на false в строках подключения ).

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

-Надеюсь, что помогает -J

...