Microsoft.AS.OLEDB.12.0 sağlayıcı kayıtlı değil
İki proje (bir Word Şablonu projesi ve VB.Net konsol uygulaması test için) ile Visual Studio 2008 bir çözüm buldum. Her iki proje de MS-Access 2007 veritabanı dosyası için bir bağlantı açan bir veritabanı proje ve Sistem başvuruları başvuru.Veri.OleDb. Veritabanı projede aşağıdaki gibi bir veri tablosu alır bir işlevi var
private class AdminDatabase
' stores the connection string which is set in the New() method
dim strAdminConnection as string
public sub New()
...
adminName = dlgopen.FileName
conAdminDB = New OleDbConnection
conAdminDB.ConnectionString = "Data Source='" adminName "';" _
"Provider=Microsoft.ACE.OLEDB.12.0"
' store the connection string in strAdminConnection
strAdminConnection = conAdminDB.ConnectionString.ToString()
My.Settings.SetUserOverride("AdminConnectionString", strAdminConnection)
...
End Sub
' retrieves data from the database
Public Function getDataTable(ByVal sqlStatement As String) As DataTable
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Dim localCon As New OleDbConnection
localCon.ConnectionString = strAdminConnection
Using localCon
Dim command As OleDbCommand = localCon.CreateCommand()
command.CommandText = sqlStatement
localCon.Open()
da.SelectCommand = command
da.Fill(dt)
getDataTable = dt
End Using
End Function
End Class
Her şey çalışıyor Word 2007 Şablon projem bu işlevini iyi söylediğimde; hata. Ama çalıştırdığımda konsol uygulaması aşağıdaki özel durum atar
= ex {"'Microsoft.AS.OLEDB.12.0' sağlayıcı kayıtlı değil yerel makine."}
Her iki proje de aynı referans var ve konsol uygulama ben ilk (bir süre önce) yazdığı zaman işe yaradı ama şimdi çalışmayı durdurdu. Ben bir şey eksik olmalı ama ne olduğunu bilmiyorum. Herhangi bir fikir?
CEVAP
Eğer 64-bit bir makine varsa, temel olarak, IIS 7 (varsayılan) 32-bit veritabanı motoru üzerinde çalışan uygulamalar, hizmet değildir. Burada yaptığınız da tam olarak bu yüzden:
1) 2007 Veritabanı Altyapısı yüklü olduğundan emin olun, bu adresinden indirilebilir: http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
2) IIS7 Yöneticisi'ni açın ve sonra da Uygulama Havuzları alanı açın. Sağ kenar çubuğu üzerinde yazan bir seçenek göreceksiniz "Set uygulama havuzu varsayılan". Tıklayın ve bir pencere seçenekleri ile açılır.
3) ikinci alanın '32-bit uygulamalar' muhtemelen ayarlanır varsayılan olarak FALSE. Etkinleştir diyor ki, Tıklayın burada diyor ki, 'yanlış' değiştirmek 'gerçek'.
4) uygulama havuzu geri DÖNÜŞÜM vurarak bunu yapmak yerine de çalışacak olan, daha sonra BAŞLAT, DURDUR) Yeniden başlatın.
5) hazırlanmış ve hata mesajı gidecek.
'Microsoft.AS.OLEDB.12.0' sa...
Microsoft.Jet.OLEDB.4.0' sağlayıc...
Kurabiye/Internet Explorer İFRAME kayı...
Hemen penceresinde dinamik 'Micro...
Sağlayıcı Oracle istemci sürümü ile uy...