FIX: d b 2 용 OLE DB 공급자를 사용 하 여 한 SQL 문을 실행할 때 오류 메시지가 나타난다: "SQLSTATE 22007, SQLCODE-181"

증상

다음 시나리오를 고려하십시오. D b 2 용 Microsoft OLE DB 공급자를 사용 하 여 SQL 문을 프로그램을 실행 합니다. IBM DB2 데이터베이스 열에 Microsoft SQL Server datetime 매개 변수를 전달 하는 SQL 문입니다. IBM DB2 데이터베이스 열에 IBM DB2 날짜 데이터 형식을 사용합니다. 이 시나리오에서는 다음과 같은 오류 메시지가 나타날 수 있습니다.
: SQLSTATE 22007, SQLCODE:-181
예를 들어, 다음 SQL 문은 IBM DB2 데이터베이스 열에 SQL Server datetime 매개 변수를 전달합니다.
declare @var1 datetimeset @var1 = '2006-09-27 00:00:00.000'
SELECT COL1, COL2, COL3
FROM IBMDB2.TESTDATA.USER1.TABLE1
WHERE COL2 = @var1

이 예제에서는 열 c o l 2 를 사용 하 여 IBM DB2 날짜 데이터 형식 경우이 문제가 발생 합니다.

원인

런타임 시 OLE DB 공급자 d b 2에 대 한 올바른 IBM DB2 데이터 형식을 SQL Server 날짜/시간 매개 변수는 전달 된 IBM DB2 데이터베이스 열에 대 한 알지 못합니다. 따라서 OLE DB 공급자 d b 2 용 OLE DB 공급자를 DB2 IBM DB2 데이터베이스에 전달 된 값에 날짜 정보와 시간 정보가 포함 합니다. 시간 정보가 IBM DB2 날짜 데이터 형식에 맞지 않습니다. 따라서 "현상" 절에 나와 있는 오류 메시지가 나타납니다.

해결 방법

Microsoft 호스트 통합 서버 2006

이 문제를 해결 하려면 호스트 통합 서버 2006 최신 서비스 팩을 구하십시오. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 다음 문서를 확인하십시오.
979497 호스트 통합 서버 2006 최신 서비스 팩을 구하는 방법

Microsoft 호스트 통합 서버 2004

지원되는 핫픽스를 Microsoft에서 구할 수 있습니다. 그러나 이 핫픽스는 오직 이 문서에서 설명하는 문제를 해결하는 작업에만 사용됩니다. 이 문제가 발생하는 시스템에만 이 핫픽스를 적용해야 합니다. 이 핫픽스는 추가 테스트가 필요할 수도 있습니다. 따라서, 이 문제로 심각하게 영향을 받지 않는 경우 이 핫픽스가 포함된 다음 소프트웨어 업데이트가 나올 때까지 기다리는 것이 좋습니다.

핫픽스를 다운로드할 수 있는 경우, 이 기술 자료 문서의 상단에 "핫픽스 다운로드 가능" 섹션이 있습니다. 이 섹션이 나타나지 않으면, Microsoft 고객 지원에 문의하여 핫픽스를 얻으십시오.

참고: 추가 문제가 발생하거나 문제 해결이 필요한 경우, 별도로 서비스를 요청해야 할 수도 있습니다. 추가 지원 질문과 이 특정 핫픽스가 필요하지 않은 문제에는 일반 지원 비용이 적용됩니다. 전체 목록은 Microsoft 고객 서비스 및 지원 전화 번호 또는 별도 서비스 요청을 만들려면, 다음 Microsoft 웹 사이트를 방문 하십시오.참고: "핫픽스 다운로드 사용 가능" 형식은 핫픽스 사용이 가능한 언어를 표시합니다. 사용자 언어가 표시되지 않는 것은 핫픽스를 해당 언어로 사용할 수 없기 때문입니다.

파일 정보

이 핫픽스의 영어 버전은 다음 표에 열거된 파일 특성 (또는 그 이후의 파일 특성)을 가지고 있습니다. 이러한 파일의 시간과 날짜는 협정 세계시(UTC)로 나열되었습니다. 파일 정보를 볼 때는 로컬 시간으로 변환됩니다. UTC와 로컬 시간의 시차를 찾으려면 제어판의 날짜 및 시간 항목에서 표준 시간대 탭을 사용 합니다.
파일 이름파일 버전파일 크기날짜시간플랫폼SP 요구 사항
Db2oledb.dll6.0.2048.0488,96003-Nov-200617:31x86SP1
Db2oledb.h적용할 수 없음24,57903-Nov-200617:36적용할 수 없음SP1
Ddmstr.dll6.0.2048.044,03203-Nov-200617:31x86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617:32x86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086,01603-Nov-200617:31x86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617:32x86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803-Nov-200617:31x86SP1
Mseidb2c.dll6.0.2048.071,68003-Nov-200617:31x86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617:31x86SP1
Mseidrda.dll6.0.2048.0695,80803-Nov-200617:32x86SP1
참고: 파일 종속성으로 인해 위의이 파일이 들어 있는 최신 핫픽스는 추가 파일이 포함 될 수 있습니다.

Microsoft OLE DB 공급자를 DB2 버전 1.0

지원되는 핫픽스를 Microsoft에서 구할 수 있습니다. 그러나 이 핫픽스는 오직 이 문서에서 설명하는 문제를 해결하는 작업에만 사용됩니다. 이 문제가 발생하는 시스템에만 이 핫픽스를 적용해야 합니다. 이 핫픽스는 추가 테스트가 필요할 수도 있습니다. 따라서, 이 문제로 심각하게 영향을 받지 않는 경우 이 핫픽스가 포함된 다음 소프트웨어 업데이트가 나올 때까지 기다리는 것이 좋습니다.

핫픽스를 다운로드할 수 있는 경우, 이 기술 자료 문서의 상단에 "핫픽스 다운로드 가능" 섹션이 있습니다. 이 섹션이 나타나지 않으면, Microsoft 고객 지원에 문의하여 핫픽스를 얻으십시오.

참고: 추가 문제가 발생하거나 문제 해결이 필요한 경우, 별도로 서비스를 요청해야 할 수도 있습니다. 추가 지원 질문과 이 특정 핫픽스가 필요하지 않은 문제에는 일반 지원 비용이 적용됩니다. 전체 목록은 Microsoft 고객 서비스 및 지원 전화 번호 또는 별도 서비스 요청을 만들려면, 다음 Microsoft 웹 사이트를 방문 하십시오.참고: "핫픽스 다운로드 사용 가능" 형식은 핫픽스 사용이 가능한 언어를 표시합니다. 사용자 언어가 표시되지 않는 것은 핫픽스를 해당 언어로 사용할 수 없기 때문입니다.

파일 정보

이 핫픽스의 영어 버전은 다음 표에 열거된 파일 특성 (또는 그 이후의 파일 특성)을 가지고 있습니다. 이러한 파일의 시간과 날짜는 협정 세계시(UTC)로 나열되었습니다. 파일 정보를 볼 때는 로컬 시간으로 변환됩니다. UTC와 로컬 시간의 시차를 찾으려면 제어판의 날짜 및 시간 항목에서 표준 시간대 탭을 사용 합니다.
32 비트 (x86) 버전
파일 이름파일 버전파일 크기날짜시간플랫폼SP 요구 사항
Db2oledb.dll6.0.2048.0488,96003-Nov-200617:31x86SP1
Db2oledb.h적용할 수 없음24,57903-Nov-200617:36적용할 수 없음SP1
Ddmstr.dll6.0.2048.044,03203-Nov-200617:31x86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617:32x86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086,01603-Nov-200617:31x86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617:32x86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803-Nov-200617:31x86SP1
Mseidb2c.dll6.0.2048.071,68003-Nov-200617:31x86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617:31x86SP1
Mseidrda.dll6.0.2048.0695,80803-Nov-200617:32x86SP1
64 비트 (x64)
파일 이름파일 버전파일 크기날짜시간플랫폼서비스 분기
Db2oledb.dll7.0.2535.0758,54407-Nov-200612:34x64적용할 수 없음
Microsoft.hostintegration.dataaccesslibrary.dll7.0.2535.02,550,61607-Nov-200612:34x64적용할 수 없음
Microsoft.hostintegration.dataaccesstool.exe7.0.2535.0613,20007-Nov-200612:34x64적용할 수 없음
Mseidrda.dll7.0.2535.01,355,53607-Nov-200612:34x64적용할 수 없음
Snanls.dll7.0.2535.0128,77607-Nov-200612:34x64적용할 수 없음
Db2oledb.dll7.0.2535.0516,88007-Nov-200612:34x86SYSWOW
Mseidrda.dll7.0.2535.0781,07207-Nov-200612:34x86SYSWOW
Snanls.dll7.0.2535.0105,22407-Nov-200612:34x86SYSWOW
참고: 파일 종속성으로 인해 위의이 파일이 들어 있는 최신 핫픽스는 추가 파일이 포함 될 수 있습니다.

상태

Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

자세한 내용

이 핫픽스는 새 연결 문자열 속성에 대 한 지원을 추가 합니다. IBM DB2 날짜 데이터 형식으로 새 연결 문자열 속성을 사용 하 여 IBM DB2 데이터베이스를 SQL Server datetime 매개 변수를 전달할 수 있습니다. D b 2 용 OLE DB 공급자는 SQL Server datetime 매개 변수의 값에 시간 정보를 삭제합니다. 따라서 OLE DB 공급자를 DB2 IBM DB2 데이터베이스에 날짜 정보만 전달합니다.

새 연결 문자열 속성에는 다음과 같은 정의가 있습니다.
날짜와 날짜/시간 =
이 연결 문자열 속성을 TRUE 또는 FALSE 을 정의할 수 있습니다. 추가 하는 경우는 날짜와 날짜/시간 = TRUE 문을 d b 2 용 OLE DB 공급자 연결 문자열에 SQL Server datetime 매개 IBM DB2 날짜 데이터 형식으로 변환 합니다. 그런 다음 d b 2 용 OLE DB 공급자 IBM DB2 데이터베이스에 값을 전달합니다.

추가 하는 경우는 날짜와 날짜/시간 = SQL 문에 지정 문을 d b 2 용 OLE DB 공급자 연결 문자열을 IBM DB2 데이터베이스를 SQL Server datetime 매개 변수를 전달 합니다. 이 경우 d b 2 용 OLE DB 공급자 전달 날짜 정보와 시간 정보가 IBM DB2 데이터베이스에.

참고: 이 동작은 기본 동작 Date로 날짜/시간 속성 연결 문자열에 추가 하지 않습니다.

다음 연결 문자열 예에서는 DateTime로 Date 속성을 사용 하는 방법을 보여 줍니다.
; 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

중요: 이 핫픽스를 적용 하 고 추가 날짜와 날짜/시간 = TRUE 문을 연결 문자열에 다음과 같은 오류 메시지가 나타날 수 있습니다.
: SQLSTATE 22007, SQLCODE:-180
IBM DB2 데이터베이스 열에 IBM DB2 타임 스탬프 데이터 형식을 사용 하는 경우이 문제가 발생 합니다. 이 문제는 IBM DB2 데이터베이스 IBM DB2 타임 스탬프 데이터 형식을 사용 하는 IBM DB2 데이터베이스 열에 쿼리를 전달할 때 날짜 정보와 시간 정보가 나타날 것으로 예상 하기 때문에 발생 합니다. 날짜와 날짜/시간 = TRUE 문을 사용 하면 OLE DB 공급자를 DB2 SQL Server datetime 매개 변수의 값에 시간 정보를 삭제 합니다. 따라서 쿼리가 IBM DB2 타임 스탬프 데이터 형식을 사용 하는 IBM DB2 데이터베이스 열에 전달 되는 데이터가 올바르지 않습니다.

IBM DB2 날짜 데이터 형식 및 IBM DB2 타임 스탬프 데이터 형식을 사용 하는 IBM DB2 테이블을 쿼리 하는 경우 올바른 속성을 사용 하도록 구성 된 여러 개의 연결 문자열을 사용 해야 합니다. 그런 다음 다양 한 IBM DB2 데이터 형식을 성공적으로 쿼리할 수 있습니다.

자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 다음 문서를 확인하십시오.

Microsoft 소프트웨어 업데이트를 설명 하는 데 사용 되는 표준 용어에 대 한 824684 설명

이 문서에 나와있는 다른 공급업체 제품들은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 명시적이든 묵시적이든 이러한 제품의 성능 또는 안정성에 대한 어떠한 보증도 하지 않습니다.
속성

문서 ID: 924599 - 마지막 검토: 2017. 2. 7. - 수정: 1

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

피드백