2010-11-18 15 views
0

İki veritabanına sahip web uygulamasına sahibim; biri dev, diğeri üretim için. Db'ye bağlanan ve verileri yükleyen bir windows servisim var. Hedeflemek istediğim db'ye dayanarak, hizmetimin app.config dosyasındaki bağlantı dizelerinden birini açıklarım.Bir db izin sorunu nasıl giderilir?

Yerel dev bilgisayarımda her şey iyi çalışıyor elbette. Ben app.config kullanarak dbs arasında geçiş yapabilir ve veri uygun db'ye yüklenir. Bu güzel bir şey. Gerçekten, öyle!

Web uygulamasını iki yeni sanal sunucuya yükledim. Web uygulaması sadece iyi çalışıyor ve aynı dbs'ye bağlanıyor.

Windows hizmetini, yerel uygulama kutusuyla tam olarak aynı app.config kullanarak yükledim. Windows hizmetini aynı kullanıcı olarak çalıştırıyorum (Windows hesabım). Ancak, hizmet yalnızca db ile değil, db ile çalışır. Tekrar edeyim, aynı yapılandırma dosyası ama servis dev db'ye opnly bağlanabiliyor.

app.config dosyasındaki prod db'yi kullanmaya başladığımda ve hizmeti yeniden başlattığımda, uygulamanın olayı günlüğüne aşağıdaki kural dışı durum kaydedilir.

The underlying provider failed on Open. 
    System.Data.SqlClient.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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 
     at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
     at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
     at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
     at System.Data.SqlClient.SqlConnection.Open() 
     at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) 

Bunun izinlerle ilgili olduğundan kesinlikle eminim, ancak bu sorun için fikirlerim tükendi. Baska öneri? Hizmetin db ile çalışmasını sağlamak için hangi izinlerin gerekli olduğunu nasıl anlarım?

DÜZENLEME # 1 - app.config dosyasından itibaren üretim db'si "Veri Kaynağı = ABCD-SQL \ prod;" İsim ile ilgili bir sorun olabilir mi?

Düzenleme # 2 - Doğrulanmış, birkaç kaynaktan gelen sunucu \ convention doğrudur.

cevap

0

SQL Server hizmetinin çalışıp çalışmadığını kontrol ettiniz mi? Aynı sorunu bir kez yaşadım ve servisi yeniden başlatarak sorunu çözdüm.

İlgili konular