2011-07-04 17 views
6

işaret eden bir bağlantı dizesi kullanmaya çalışırken anahtar kelime desteklenmez özel durum Asp.Net MVC uygulamasının veritabanı erişimi için bir ODBC DSN oluşturdum. Başlıca nedenlerden biri, yayınlama yeteneklerimi engellemeden veritabanı denetiminin (sunucu adresi, bağlantı noktası, kullanıcı adı ve parola gibi) kaynak denetimden uzak tutulmasıdır.Bir ODBC DSN

Bağlantılarımı DSN=MyDSN olarak değiştirdim. Benim Varlık Framework sorguları çalıştırdığınızda

Ne yazık ki, Exception Details: System.ArgumentException: Keyword not supported: 'dsn'. olsun

kimse yanlış ne yapıyorum biliyor mu?

+0

Hangi sağlayıcıyı kullandınız? –

+0

Kullanıyorum 'providerName =" System.Data.SqlClient "' – KallDrexx

cevap

9

ODBC DSN'yi kullanmak istiyorsanız, bağlantı dizginiz, yönetilen SQL istemcisi yerine System.Data.Odbc yerel sağlayıcısı kullanmalıdır.

Düzenleme: Şimdi teori pratik gelen

. Dahili EF uygulaması nedeniyle çalışmıyor. EF, oluşturulan bağlantıdan DbProviderFactory'u almaya çalışan bazı yöntemleri çağırır. Sorun, bu özelliğin DbConnection'da tanımlanmış olmasıdır ve null döndürür. Yalnızca SqlConnection, özelliği geçersiz kılar ve doğru fabrika değerini döndürür. Yani EF, varsayılan ODBC sağlayıcısıyla çalışmıyor ve here nedenini açıkça açıklıyor.

+0

Sağlayıcı adımı 'providerName =" System.Data.Odbc "olarak değiştirdiğimde" System.Data.ProviderIncompatibleException "verir:" Aradıktan sonra bir null döndürüldü " get_ProviderFactory 'yöntemi' System.Data.Odbc.OdbcConnection 'türünde bir mağaza sağlayıcı örneğinde. Mağaza sağlayıcısı düzgün çalışmayabilir. ' – KallDrexx

+0

Bağlantı dizginizi gösterin. –

+0

' ' – KallDrexx

İlgili konular