Makale numarası: 818518 - Son Gözden Geçirme: 17 Mayıs 2007 Perşembe - Gözden geçirme: 1.2

Bir ADO Recordset'i bir dosyaya kaydetmeye çalıştığınızda, DÜZELTME: "kayıt oluşturulamıyor" hatası oluşuyor

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Bir ADO kayıt kümesi, sistem başka bir kullanıcı tarafından oluşturulan bir dosyayı kaydetmeye çalıştığınızda, aşağıdaki hata iletisini alabilirsiniz:
Çalışma zamanı hatası '-2147286781 (80030103) ':
Kaydedilemiyor.
Uygulama, salt okunur bir klasörde ise kayıt dosyası her iki kullanıcı için yazma izinleri olan bir klasörde bile bu hata iletisini alırsınız.

Neden

Kayıt zaten varolan bir dosyaya kayıt kümesi nesnesi kaydetmeye çalıştığınızda, uygulamanın klasöründe bir geçici dosya oluşturur. Bu klasör salt okunur klasörüdür. Bu nedenle, ikinci kullanıcı, kaynak dosyanın üzerine yazamaz.

Çözüm

Bu sorun, Microsoft Data Access Components (MDAC) 2. 8'de giderilmiştir. MDAC 2.8, the ADODB kayıt, kayıt kümesini kaydetmek için kullanılan hedef dosya ile aynı klasörde geçici dosya oluşturur.

Microsoft Data Access Components (MDAC) 2.8 karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
Not Microsoft, MDAC 2.8 ile uygulamanızı bir sınama ortamında önce kullanın (veya yükseltmek) karar vermeden önce uyumluluk sorunları uyumlu olduğundan emin olmak için sınamanızı önerir MDAC 2.8 sürümünü.

Durum

Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır. Bu hata, MDAC 2. 8 ' giderilmiştir.

Daha fazla bilgi

Davranışı Yeniden Oluşturma Adımları

  1. Microsoft Visual Basic 6. 0'ı başlatın.
  2. Dosya menüsünde, Yeni Proje'yi tıklatın. Yeni proje) iletişim kutusunda, Standart Exe ' ı tıklatın. Varsayılan olarak, Form1 oluşturulur.
  3. Proje menüsünde Başvurular ' ı tıklatın. Tıklatın Microsoft ActiveX Data Objects 2.7 kitaplığı ve sonra Tamam ' ı tıklatın.
  4. Iki komut düğmelerini forma ekleyin.
  5. Right-click Form1, click View Code, and then add the following code:
    Option Explicit
    
    Private Sub Command1_Click()
       Dim cn As New Connection
       Dim rs As New Recordset
    
       On Error GoTo ErrHandler
       cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=YourSQLServer"
       cn.Open
          
       ' Open the RecordSet
       rs.Open "SELECT * FROM CUSTOMERS", cn, adOpenDynamic, adLockPessimistic
       
       ' Persist the RecordSet
       rs.Save "C:\Documents and Settings\NonAdminUserName\My Documents\Customer.dat"
       
       Exit Sub
       
    ErrHandler:
       MsgBox "Error : " & Err.Description
    End Sub
    
    Private Sub Command2_Click()
       Dim rs As New ADODB.Recordset
       
       On Error GoTo ErrHandler:
       
       ' Read the Persisted RecordSet
       rs.Open "C:\Documents and Settings\NonAdminUserName\My Documents\Customer.dat"
       
       ' Save the RecordSet
       rs.Save "C:\Documents and Settings\NonAdminUserName\My Documents\Customer.dat"
       
       Exit Sub
    
    ErrHandler:
       MsgBox "Error Number: " & Err.Number
       MsgBox "Error Description: " & Err.Description
    End Sub
    
    Private Sub Form_Load()
       Command1.Caption = "Persist RecordSet"
       Command2.Caption = "Reload Data"
    End Sub
    
  6. Bağlantı dizesinde, "YourSQLServer" ile SQL Server'ınızın adını değiştirin.
  7. Proje C:\Program Files\Test klasöre kaydedin.
  8. Çalıştır) menüsünde, Başlat ' ı tıklatın.
  9. Kalıcı bir RecordSet ' i tıklatın ve Yeniden yükleme veri ' ı tıklatın. Hata oluşmaz.
  10. Bilgisayarda yönetici olmayan bir kullanıcı olarak oturum açın (varsayılan tarafından C:\Program Files\ yazma erişimi olmayan yöneticiler sahip değildir klasörü).
  11. Projeyi yeniden çalıştırın. "Belirtiler" bölümünde tanımlanan hata iletisini alırsınız.

Referanslar

Microsoft Data Access hakkında daha fazla bilgi için teknolojileri, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/data (http://www.microsoft.com/data)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ActiveX Data Objects 2.7
  • Microsoft Data Access Components
Anahtar Kelimeler: 
kbmt kbprogramming kbdataobject kbfix KB818518 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:818518  (http://support.microsoft.com/kb/818518/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.