Düzeltme: #DELETED CHAR birincil anahtarla ilgili kayıtları eklemek için hata

Makale çevirileri Makale çevirileri
Makale numarası: 264766 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Sabit uzunluklu metin (CHAR) alanı olan bağlantılı ODBC tabloya birincil anahtar olarak yeni bir kayıt eklediğinizde, tüm yeni kayıttaki alanlar #DELETED görüntülenir.

Not Sonra kapatıp bağlı tabloyu, yeni eklenen kayıt görüntülenir ve düzgün olarak eklenir.

Neden

Birçok ODBC sürücüleri için bir boşluk (veya "out yazma") ekleme eklenen bir karakter alanının en fazla uzunluktan daha az olduğunda bir CHAR alanı. Microsoft Jet 4.0 yanlış geri eklenen, edilirken değerini okur ve özgün, unpadded değerle karşılaştırır. Jet, iki değerden farklı olduğu için Microsoft Access'e yeni eklenen kaydı bulunamıyor bildirir.

Çözüm

Bu sorunu gidermek için <a0></a0>, en son Jet 4.0 hizmet paketini yükleyin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
239114Nasıl yapılır:'ı Microsoft Jet 4.0 veritabanı altyapısı için en son hizmet paketini elde

Pratik Çözüm

Tablo için birincil anahtar olarak (VARCHAR) bulunduğu bildirilen bir değişken uzunluklu metin alanı kullanın.

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır. Bu sorun, Jet 4.0 Service Pack 6 (SP6) giderilmiştir.

Daha fazla bilgi

Davranışı yeniden oluşturma adımları

Bu sorun, DB2 ve Oracle Microsoft SQL Server veritabanına bağlama tarafından üretebilir. Sorun bağlı tabloda en az 60 ya da daha fazla kaydı yoksa yapılmasına izin vermiyor.

Ekleme işlemi sırasında gerçekleştirilen bir ODBC izleme incelerseniz, Jet ekler ve kaydı düzgün reselects ve hiçbir hata, izleme içinde ortaya görürsünüz. Jet kayıt alır ve kullanıcı tarafından girilen değerle reselected anahtar değerini karşılaştırmak denediği sonra sorun oluşur.

Bu davranışı yeniden oluşturmak için aşağıdaki adımları gerçekleştirin:
  1. Sınama tablosu ve kayıtlar oluşturmak için aşağıdaki Microsoft Visual Basic kodu çalıştırın:
    Sub GenerateTestTable()
    Dim conn As Object
    Dim i As Long, sql as String
       Set conn = CreateObject("adodb.connection")
       ' Change connection string to point to your SQL Server if needed.
       conn.Open "Provider=SQLOLEDB;Server=(Local);Database=Pubs;UID=sa;PWD=;"
       On Error Resume Next
       conn.Execute "drop table tmp_chartest"
       On Error GoTo 0
       sql = "create table tmp_chartest(f1 char(5) primary key, f2 char(10))"
       conn.Execute sql
        For i = 1 To 70
            sql = "insert into tmp_chartest (f1,f2) values ('"
            sql = sql & Format(i, "000") & "','XXXXXXXXXX')"
            conn.Execute sql
        Next i
        conn.Close
        Set conn = Nothing
    End Sub
    					
  2. Microsoft Access 2000'i başlatın ve bir önceki adımda oluşturduğunuz tmp_chartest tablosuna bağlayın.
  3. Yeni bağlantılı tabloyu açın ve son kaydı tablosuna gidin.
  4. <a1>Alan</a1> F1 ile yeni bir kayıt eklemek ve 071 F2 alan XXXXXXXXXX =.
  5. Sekmeyi kapatmak, kayıt ve alanların tümünde görüntülenen #DELETED görmelisiniz.

Özellikler

Makale numarası: 264766 - Last Review: 24 Şubat 2014 Pazartesi - Gözden geçirme: 3.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2000 Service Pack 1
  • Microsoft Access 2002 Standard Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbbug kbdatabase kbfix kbjet KB264766 KbMttr
Machine-translated Article
Ö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:264766

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com