문제

우리 회사는 진전 데이터 베이스. ODBC 연결을 사용하여 데이터베이스 위에 응용 프로그램을 구축했습니다.

진보의 "기발한"중 하나는 SQL 열 폭을 존중하지 않으므로 Varchar (50)로 정의 된 열에서 100자를 허용한다는 것입니다. ODBC를 통해이 데이터를 읽을 때 다음과 같은 오류가 발생합니다.

탁자의 열 test_column test pub.test_table의 값은 최대 길이 또는 정밀도를 초과합니다.

응용 프로그램을 구축 한 회사의 지원 기술은 ODBC 연결 레지스트리의 플래그 주변의 작업을 추가하는 것을 지적했지만, 이러한 플래그가 수행 할 내용 또는 가능한 값이 무엇인지에 대한 문서를 찾을 수는 없습니다. 레지스트리 키가 있습니다

key_current_user-> 소프트웨어-> odbc-> odbc.ini-> myodbcconnectionname-> wnodarounds key_current_user-> 소프트웨어-> odbc-> odbc.ini-> workArounds2

Google은 사람들이 특정 가치 로이 깃발을 추가하여 해결 한 다른 문제를 발견했습니다 (개인적으로 좋아하는 것을 포함하여 매일 WTF)하지만 깃발이 실제로 무엇을하는지 알려주는 곳은 어디에서나 찾을 수 없습니다. 알아?

도움이 되었습니까?

해결책

진행 상황이 KB를 이동했기 때문에 @tom-bascom의 링크는 더 이상 작동하지 않습니다. @MDB의 질문에 대한 @Stefan-Moser의 의견이 적절합니다.

에 따르면 11 장 해결 옵션ODBC 참조 용 DataDirect Connect 시리즈

해결 방법 2 = 8192. 이 옵션을 활성화하면 Microsoft 액세스가 오류 -7748을 통과하지 못하게됩니다. Microsoft Access는 2 바이트 SQL_C_WCHAR로만 데이터를 요구합니다. 이는 UCS2 문자 및 NULL 터미네이터를 저장하기에 불충분 한 버퍼 크기입니다. 따라서 드라이버는 "01004 Data Truncated"경고를 반환하고 Null 문자를 Microsoft Access로 반환합니다. Microsoft Access는 오류 -7748을 통과합니다.

참조 :

다른 팁

그것은 다음의 수정입니다.

'이 오류는 ODBC 드라이버에 대한 Connect를 사용할 때 Microsoft Access 2000에서 발생합니다.

Datedirect 지원 KB

그만큼 DatAdirect Connect for ODBC 용 readme 파일 (UNIX 기반 ODBC 드라이버)에는 문서의 "드라이버 해결 방법"섹션에 해결 방법 목록이 포함되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top