Eşzamanlılık denetimini anlama

JDBC sürücüsünü indirin

Eşzamanlılık denetimi, birden çok kullanıcı satırları aynı anda güncelleştirirken veritabanının bütünlüğünü korumak için kullanılan çeşitli teknikleri ifade eder. Yanlış eşzamanlılık kirli okumalar, hayalet okumalar ve tekrarlanamayan okumalar gibi sorunlara yol açabilir. SQL Server için Microsoft JDBC Sürücüsü, bu sorunları çözmek için SQL Server tarafından kullanılan tüm eşzamanlılık tekniklerine arabirimler sağlar.

Uyarı

SQL Server eşzamanlılığı hakkında daha fazla bilgi için bkz. "Eşzamanlı Veri Erişimini Yönetme".

Açıklamalar

JDBC sürücüsü aşağıdaki eşzamanlılık türlerini destekler:

Eşzamanlılık Türü Özellikler Satır Kilitleri Description
CONCUR_READ_ONLY Yalnızca Okuma Hayı İmleç üzerinden güncelleştirmelere izin verilmez ve sonuç kümesini oluşturan satırlarda hiçbir kilit tutulmaz.
CONCUR_UPDATABLE İyimser Okuma-Yazma Modu Hayı Veritabanı, satır çekişmesi olasılığının düşük olduğunu, ancak mümkün olduğunu varsayar. Satır bütünlüğü bir zaman damgası karşılaştırması ile denetlenir.
CONCUR_SS_SCROLL_LOCKS Kötümser Okuma-Yazma Stratejisi Yes Veritabanı, satır çekişmesi olasılığının yüksek olduğunu varsayar. Satır bütünlüğü, satır kilitleme ile sağlanır.
CONCUR_SS_OPTIMISTIC_CC İyimser Okuma Yazma İşlemi Hayı Veritabanı, satır çekişmesi olasılığının düşük olduğunu, ancak mümkün olduğunu varsayar. Satır bütünlüğü bir zaman damgası karşılaştırmasıyla doğrulanır.

SQL Server 2005 (9.x) ve üzeri sürümlerde, tablo zaman damgası sütunu içermiyorsa sunucu bunu CONCUR_SS_OPTIMISTIC_CCVAL olarak değiştirir.

SQL Server 2000 (8.x) için, temel alınan tabloda bir zaman damgası sütunu varsa, DEĞERLERLE İYİMİSERLIK belirtiliyor olsa bile SATIR SÜRÜMÜ İLE İYİMİSER kullanılır. SATIR SÜRÜMLEME İYİMSER belirtilirse ve tabloda zaman damgaları yoksa, DEĞERLER İLE İYİMSER kullanılır.
CONCUR_SS_OPTIMISTIC_CCVAL İyimser Okuma Yazma Hayı Veritabanı, satır çekişmesi olasılığının düşük olduğunu, ancak mümkün olduğunu varsayar. Satır bütünlüğü, satır veri karşılaştırması ile denetlenir.

Güncelleştirilemeyen sonuç kümeleri

Güncelleştirilebilir sonuç kümesi, satırların eklenebileceği, güncelleştirilebileceği ve silinebileceği bir sonuç kümesidir. Aşağıdaki durumlarda, SQL Server güncelleştirilebilir bir imleç oluşturamaz. Oluşturulan özel durum: "Sonuç kümesi güncelleştirilebilir değil."

Nedeni Description Çare
Deyimi JDBC 2.0 (veya üzeri) söz dizimi kullanılarak oluşturulmadı JDBC 2.0 deyimleri oluşturmak için yeni yöntemler kullanıma sunulmuştur. JDBC 1.0 söz dizimi kullanılırsa, sonuç varsayılan olarak salt okunur olarak ayarlanır. deyimini oluştururken sonuç kümesi türünü ve eşzamanlılığını belirtin.
Açıklama, TYPE_SCROLL_INSENSITIVE kullanılarak oluşturulur. SQL Server statik bir anlık görüntü imleci oluşturur. Baz alınan tablo satırlarından bağlantısı kesilerek, imlecin diğer kullanıcıların yaptığı satır güncelleştirmelerinden korunması sağlanır. Statik imleç oluşturmamak için CONCUR_UPDATABLE ile TYPE_SCROLL_SENSITIVE, TYPE_SS_SCROLL_KEYSET, TYPE_SS_SCROLL_DYNAMIC veya TYPE_FORWARD_ONLY kullanın.
Tablo tasarımı, bir KEYSET veya DYNAMIC imlecini engeller Temel alınan tabloda SQL Server'ın bir satırı benzersiz olarak tanımlamasını sağlayan benzersiz anahtarlar yoktur. Her satırın benzersiz kimliğini sağlamak için tabloya benzersiz anahtarlar ekleyin.

Ayrıca bakınız

JDBC sürücüsüyle sonuç kümelerini yönetme