AS400'te bir DB2 veritabanımız var. Bağlantılı bir sunucu eklendi, hepsi iyi gitti, ancak bazı sorgular yaparken bile, bazen masa kilitli. SQL Server'da tablo ipucu hakkında düşünmek, bağlantılı sunucu sorgusunu (örneğin, * dan * seç) destek masası ipucunu mu?Bağlantılı sunucu sorgusunda tablo ipucu
cevap
Şüpheli, ama emin değilim.
Openquery() veya 4 bölüm ad kullanıyor musunuz?
şöyle 4 yarı adlarını kullanarak bir sorgu:
select * from LNKSVRNAME.IBMINAME.MYSCHEMA.MYTABLE where somecolumn = '00335';
MYTABLE
tüm satırlarını geri çeker ve MS SQL Server WHERE
filtreleme yapar.
select * from openquery(LNKSVRNAME, 'select * from MYSCHEMA.MYTABLE where somecolumn = ''00335''');
IBM i için sorguyu gönderir ve MyTable sadece eşleşen satırları MS SQL Server geri çekilir: openquery() şöyle kullanarak aksine
.
Tablo yalnızca kilitliyse, yapabileceğiniz fazla bir şey yok. Ancak, satır kilitlerine giriyorsanız. Sen IBM için aşağıdaki DB2 bakmak isteyebilirsiniz i hükümler
FOR READ ONLY
SKIP LOCKED DATA
veyaUSE CURRENTLY COMMITTED
veyaWAIT FOR OUTCOME
böyle Yani bir şey:
select * from openquery(LNKSVRNAME, 'select * from MYSCHEMA.MYTABLE where somecolumn = ''00335'' FOR READ ONLY USE CURRENTLY COMMITTED');
Not ise aslında bir AS/400,ile konuşuyorsunuzsenin sahip olabileceğin her şey. Ancak, IBM'in nispeten yeni bir sürümünü çalıştıran nispeten yeni bir IBM POWER System ile konuşuyorsanız, gösterdiğim concurrent-access-resolution
tümcecikleri kullanılabilir olmalıdır.