Düzeltme: DB2 için OLE DB Provider'ı kullanarak bir SQL deyimi çalıştırdığınızda hata iletisi: "SQLSTATE 22007, SQLCODE 181"

Makale çevirileri Makale çevirileri
Makale numarası: 924599 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Şu senaryoyu inceleyin. DB2 için Microsoft OLE DB Provider'ı kullanarak, bir SQL deyimini çalıştırın. SQL deyimi, IBM DB2 veritabanı sütununa bir Microsoft SQL Server datetime parametresi geçirir. IBM DB2 veritabanı sütunu IBM DB2 DATE veri türünü kullanır. Bu senaryoda, aşağıdaki hata iletisini alabilirsiniz:
sqlstate: 22007, sqlcode:-181
Örneğin, aşağıdaki SQL deyimi, IBM DB2 veritabanı sütununa bir SQL Server datetime parametresi geçirir.
declare @var1 datetime
set @var1 = '2006-09-27 00:00:00.000'
SELECT COL1, COL2, COL3
FROM IBMDB2.TESTDATA.USER1.TABLE1
WHERE COL2 = @var1
IBM DB2 DATE veri türü COL2 sütun kullanıyorsa, bu örnekte, bu sorun oluşur.

Neden

Çalışma zamanında, IBM DB2 veritabanı sütununun SQL Server datetime parametre geçirilen doğru IBM DB2 veri türünü OLE DB Provider for DB2 bilmez. Bu nedenle, OLE DB Provider for DB2 tarih bilgisi ve zaman bilgilerini, IBM DB2 veritabanını için OLE DB Provider for DB2 geçirmeden değeri içerir. Zaman bilgilerini, IBM DB2 DATE veri türü için geçerli değil. Bu nedenle, "Belirtiler" bölümünde açıklanan hata iletisini alırsınız.

Çözüm

Microsoft Host ıntegration Server 2006

Bu sorunu gidermek için <a0></a0>, Host ıntegration Server 2006 için en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
979497En son Host Integration Server 2006 hizmet paketi nasıl elde edilir

Microsoft Host ıntegration Server 2004

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

DOSYA BİLGİLERİ

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve saat öğesinde saat dilimi sekmesini kullanın.
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatformSP gereksinimi
Db2oledb.dll6.0.2048.0488.96003 Kas 200617: 31X86SP1
Db2oledb.hUygulanamaz24,57903 Kas 200617: 36UygulanamazSP1
Ddmstr.dll6.0.2048.044,03203 Kas 200617: 31X86SP1
Drdaresync.exe6.0.2048.0337,40803 Kas 200617: 32X86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086,01603 Kas 200617: 31X86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003 Kas 200617: 32X86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803 Kas 200617: 31X86SP1
Mseidb2c.dll6.0.2048.071,68003 Kas 200617: 31X86SP1
Mseidb2d.dll6.0.2048.0435,20003 Kas 200617: 31X86SP1
Mseidrda.dll6.0.2048.0695,80803 Kas 200617: 32X86SP1
Not Dosya bağımlılıkları nedeniyle, bu dosyaları içeren en son düzeltme, ek dosyalar da içerebilir.

Microsoft OLE DB Provider for DB2 sürüm 1.0

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

DOSYA BİLGİLERİ

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve saat öğesinde saat dilimi sekmesini kullanın.
(x 86) 32-bit sürümü
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatformSP gereksinimi
Db2oledb.dll6.0.2048.0488.96003 Kas 200617: 31X86SP1
Db2oledb.hUygulanamaz24,57903 Kas 200617: 36UygulanamazSP1
Ddmstr.dll6.0.2048.044,03203 Kas 200617: 31X86SP1
Drdaresync.exe6.0.2048.0337,40803 Kas 200617: 32X86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086,01603 Kas 200617: 31X86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003 Kas 200617: 32X86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803 Kas 200617: 31X86SP1
Mseidb2c.dll6.0.2048.071,68003 Kas 200617: 31X86SP1
Mseidb2d.dll6.0.2048.0435,20003 Kas 200617: 31X86SP1
Mseidrda.dll6.0.2048.0695,80803 Kas 200617: 32X86SP1
(x 64) 64-bit sürümü
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatformHizmet Dalı
Db2oledb.dll7.0.2535.0758,54407 Kas 200612: 34X64Uygulanamaz
Microsoft.hostintegration.dataaccesslibrary.dll7.0.2535.02,550,61607 Kas 200612: 34X64Uygulanamaz
Microsoft.hostintegration.dataaccesstool.exe7.0.2535.0613,20007 Kas 200612: 34X64Uygulanamaz
Mseidrda.dll7.0.2535.01,355,53607 Kas 200612: 34X64Uygulanamaz
Snanls.dll7.0.2535.0128,77607 Kas 200612: 34X64Uygulanamaz
Db2oledb.dll7.0.2535.0516,88007 Kas 200612: 34X86syswow
Mseidrda.dll7.0.2535.0781,07207 Kas 200612: 34X86syswow
Snanls.dll7.0.2535.0105,22407 Kas 200612: 34X86syswow
Not Dosya bağımlılıkları nedeniyle, bu dosyaları içeren en son düzeltme, ek dosyalar da içerebilir.

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

Bu düzeltme, yeni bir bağlantı dizesi özellik desteği ekler. Yeni bağlantı dizesi özelliğini kullanarak, IBM DB2 DATE veri türü olarak bir SQL Server datetime parametresi bir IBM DB2 veritabanına geçirebilirsiniz. OLE DB Provider for DB2, SQL Server datetime parametresinin değeri zaman bilgileri siler. Bu nedenle, yalnızca tarih bilgileri OLE DB Provider for DB2 IBM DB2 veritabanına iletir.

Yeni bağlantı dizesi özellik aşağıdaki tanım vardır:
Tarihi olarak DateTime Value =
Bu bağlantı dizesi özellik ValueDOğRU veya YANLıŞ olarak tanımlayabilirsiniz. Eklerseniz DateTime tarihi, farklı = TRUE deyimi için OLE DB Provider for DB2 bağlantı dizesini SQL Server datetime parametresi IBM DB2 DATE veri türüne dönüştürür. Sonra OLE DB Provider for DB2 için IBM DB2 veritabanını değeri geçirir.

Eklerseniz DateTime tarihi, farklı = YANLıŞ SQL deyiminde belirttiğiniz gibi bağlantı dizesi, OLE DB Provider for DB2 ifadesine SQL Server datetime parametresi ' IBM DB2 veritabanına geçirir. Bu durumda, OLE DB Provider for DB2, tarih bilgisi ve zaman bilgilerini IBM DB2 veritabanına iletir.

Not Bağlantı dizesi olarak DateTime tarihi, farklı özelliği eklerseniz, bu davranış varsayılan davranıştır.

Aşağıdaki bağlantı dizesini örnek Olarak, DateTime tarihi özelliği nasıl kullanılır? gösterir.
; Everything after this line is an OLE DB initialization string.
Provider=DB2OLEDB;Password=<Password>;Persist Security Info=True;User ID=<Username>;Initial Catalog=S105FRDM;Defer Prepare=False;Derive Parameters=False;Network Transport Library=TCP;Host CCSID=37;PC Code Page=1252;Network Address=<Address>;Network Port=446;Package Collection=DB2USER;Default Schema=DB2USER;Default Qualifier=DB2USER;DBMS Platform=DB2/AS400;Process Binary as Character=False;Connection Pooling=True;Units of Work=RUW;DateTime As Date=TRUE
Ekleyin ve bu düzeltmeyi uyguladıktan sonra önemliDateTime tarihi, farklı = TRUE deyimi için bağlantı dizesi, aşağıdaki hata iletisini alabilirsiniz:
sqlstate: 22007, sqlcode:-180
Bu sorun, IBM DB2 veritabanı sütunu, IBM DB2 TIMESTAMP veri türü kullanıyorsa oluşur. Bu sorun, IBM DB2 veritabanını sorguda, IBM DB2 TIMESTAMP veri türünü kullanan bir IBM DB2 veritabanını sütun geçirildiğinde, tarih bilgisi ve zaman bilgilerini almak beklediği nedeniyle oluşur. DateTime tarihi, farklı = TRUE deyimi OLE DB Provider for SQL Server datetime parametresinin değeri zaman bilgileri silmek DB2 neden olur. Bu nedenle, sorgu IBM DB2 TIMESTAMP veri türünü kullanır, IBM DB2 veritabanı sütununa geçirildiğinde verileri geçerli değil.

IBM DB2 DATE veri türü ve IBM DB2 TIMESTAMP veri türünü kullanan bir IBM DB2 tablosu sorgulamalısınız, doğru özelliklerini kullanmak üzere yapılandırılmış birden çok bağlantı dizesini kullanmak zorunda kalabilirsiniz. Ardından, IBM DB2 çeşitli veri türleri başarıyla sorgulayabilirsiniz.

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması
Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft bu ürünlerin performansı veya güvenilirliği hakkında hiçbir garanti vermez.

Özellikler

Makale numarası: 924599 - Last Review: 4 Şubat 2010 Perşembe - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Host Integration Server 2006 Enterprise Edition
  • Microsoft Host Integration Server 2006
  • Microsoft Host Integration Server 2004 Enterprise Edition
  • Microsoft Host Integration Server 2004 Standard Edition
  • Microsoft OLE DB Provider for DB2
Anahtar Kelimeler: 
kbmt kbautohotfix kbdb2oledb kbhis2004 kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB924599 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:924599

Geri Bildirim Ver

 

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