2012-04-15 3 views
0

Ce qui suit est mon fichier web.config. J'apprends actuellement à déployer un site web seul puisque je n'ai trouvé aucune source pour apprendre à déployer un site web en utilisant ADO.NET (framework d'entité/utilisation d'un modèle DB) qui se connecte à une base de données azure. J'ai créé une page de test qui obtient simplement tous les enregistrements d'une table spécifique. Fonctionne parfaitement en développement. J'ai simplement téléchargé web.config, default.aspx, default.aspx.cs et le dossier bin. J'utilise aller papa. Malheureusement, je reçois une erreur me disant que je ne me connecte pas à la base de données! Quelqu'un peut-il m'aider??!!!Définition de web.config pour le déploiement - .Net

L'erreur suivante est la trace de la pile Une erreur liée au réseau ou à une instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (fournisseur: fournisseur de canaux nommés, erreur: 40 - Impossible d'ouvrir une connexion à SQL Server)

Description: Une exception non gérée s'est produite lors de l'exécution de la requête Web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails d'exception: System.Data.SqlClient.SqlException: une erreur liée au réseau ou à une instance spécifique s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (Fournisseur: Fournisseur de canaux nommés, erreur: 40 - Impossible d'ouvrir une connexion à SQL Server)

Erreur Source:

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): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)] 
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5061898 
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234 
    System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity) +341 
    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) +129 
    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +239 
    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +195 
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +232 
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185 
    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +33 
    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +524 
    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66 
    System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +479 
    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +108 
    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126 
    System.Data.SqlClient.SqlConnection.Open() +125 
    System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +52 

[EntityException: The underlying provider failed on Open.] 
    System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +161 
    System.Data.EntityClient.EntityConnection.Open() +98 
    System.Data.Objects.ObjectContext.EnsureConnection() +81 
    System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) +46 
    System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal() +13 
    System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList() +10 
    System.Web.UI.DataSourceHelper.GetResolvedDataSource(Object dataSource, String dataMember) +54 
    System.Web.UI.WebControls.ReadOnlyDataSource.System.Web.UI.IDataSource.GetView(String viewName) +41 
    System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView() +266 
    System.Web.UI.WebControls.DataBoundControl.GetData() +4 
    System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +24 
    System.Web.UI.WebControls.ListControl.PerformSelect() +34 
    System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74 
    WebApplication1._default.Page_Load(Object sender, EventArgs e) in C:\...\WebApplication1\default.aspx.cs:15 
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 
    System.Web.UI.Control.OnLoad(EventArgs e) +91 
    System.Web.UI.Control.LoadRecursive() +74 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272 

Ce qui suit est mon fichier web.config:

<?xml version="1.0"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <system.web> 
    <customErrors mode="Off"/> 
    <compilation debug="false" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
    <connectionStrings> 
    <add name="xxx" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=xxx.database.windows.net;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx;MultipleActiveResultSets=True;Application Name=EntityFramework&amp;quot&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 
+0

La chaîne de connexion est incorrecte. Essayez d'utiliser ses valeurs dans SQL Server Management Studio. Pouvez-vous vous connecter? (Vous ne serez pas). – usr

+0

C'est la même chaîne de connexion que j'utilise depuis mon Visual Studio. Je vais essayer ce que tu m'as dit aussi. – test

Répondre

2

GoDaddy bloque probablement les connexions sortantes.

Contactez leur support ou passez à un hôte décent.

+0

Cela semble raisonnable. Que pensez-vous que je devrais leur demander de faire exactement pour moi? Simplement pour débloquer une telle connexion? :) – test

+0

Débloquer le port utilisé par SQL Server (1433, IIRC, mais vérifiez) – SLaks

+0

attendre, est-ce ce que je devrais leur dire? ou ce que je devrais faire? parce que si c'est ce que je devrais faire, je suis désolé de ne pas vous avoir bien compris! – test

1

Avez-vous essayé de configurer le pare-feu SQL Azure pour autoriser les connexions à partir de votre serveur GoDaddy?

Référence: http://msdn.microsoft.com/en-us/library/windowsazure/ee621782.aspx

+0

oui pour le moment je permets tous les IP de 0 0 0 0 à 255 255 255 255! – test

+0

le numéro de port de go papa semble être un problème :(c'est ce que papa m'a dit: Merci d'avoir contacté le support en ligne.Sachez que vous ne pouvez vous connecter à d'autres sites Web que par les ports 80 (HTTP) et 443 (HTTPS). Les autres ports ne peuvent pas être utilisés sur les plans d'hébergement. Http://stackoverflow.com/questions/4714154/unable-to-connect-from-third-party-hosted-web-application-to-sql-azure-database – test

+0

être une option pour héberger un service WCF dans un rôle Web Windows Azure qui se connecte à SQL Azure et que votre site Web se connecte à ce service WCF? (Je sais que cela ajoute un coût supplémentaire, mais cela fonctionnera) –

Questions connexes