2017-08-31 3 views
0

Je développe un site Web Azure et un WebJob. La base de données de développement est un fichier Mdf. L'application Mvc peut se connecter au stockage Azure et à la base de données. Le WebJob peut se connecter au stockage Azure, mais la base de données jette ceci:Azure WebJobs ne peut pas se connecter à la base de données mdf

System.Data.SqlClient.SqlException occurred 
    HResult=0x80131904 
    Message=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: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. Specified LocalDB instance name is invalid. 
) 
    Source=Core .Net SqlClient Data Provider 
    StackTrace: 
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling) 
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) 
    at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) 
    at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) 
    at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) 
    at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) 

Les deux Mvc et WebJob partagent les mêmes chaînes de connexion:

Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=D:\\Projects\\Test1\\Code\\Database\\Test1.mdf;Integrated Security=True;Connect Timeout=30;Encrypt=False 

Il ne fait aucune différence si le Mvc L'application est en cours d'exécution lorsque WebJob est démarré.

Répondre

0

Dans les secrets de l'utilisateur de l'application MVC, je devais utiliser des barres obliques doubles, comme ceci:

Data Source=(LocalDB)\\MSSQLLocalDB 

Dans le fichier app.config pour l'application de la console webjob, je devais utiliser des barres obliques simples comme ceci:

Data Source=(LocalDB)\MSSQLLocalDB