SORU
26 EKİM 2008, Pazar


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
15 NİSAN 2010, PERŞEMBE


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • ImBluecams

    ImBluecams

    25 Kasım 2012
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007