2012-01-09 4 views
2

ODBC 드라이버를 사용하여 데이터를 가져 와서 SQL DB로 내보내려고하는 4D 데이터베이스가 있습니다.C#에서 4D ODBC 드라이버를 사용하는 경우의 예외

대부분의 테이블을 읽을 수 있으므로 드라이버가 작동한다는 것을 알고 있습니다.

그러나 OdbcDataAdapter의 Fill 메서드에서 4 가지 예외가 발생하는 5 개의 테이블이 있습니다.

  1. 빈 메시지
  2. 중복 된 열을 제외하고 예외
  3. 오류 [S1000] [심바] [심바 ODBC 드라이버] [코드베이스 파일 라이브러리 (doc 후 OdbcDataAdapter 채우기에이를 극복 할 수 있어야한다) ]
  4. 은 보호 된 메모리를 내가 MS의 문서를 읽고 있어요

를 읽거나 쓰려고 시도했습니다,하지만 난 4D 문서에 액세스 할 필요 없다.

내 희망은 여기있는 누군가가 이런 상황에 대해 약간의 경험이 있었고 올바른 방향으로 나를 가리킬 수 있다는 것입니다.

미리 감사드립니다.

+1

오류가있는 모든 4D 시스템 테이블을 링크 [S1000] [심바] [심바 ODBC 드라이버] [코드베이스 라이브러리 파일] 예외 발생 나는 아직도 그 이유가 발견되지는 않지만 형식의 이미지 필드를 읽습니다. 동일한 문제가있는 사람에게만 정보를 제공합니다. –

답변

1

4D에는 특정 데이터 유형이있어 문제가 발생할 수 있습니다. 예를 들어 blob, interval 및 int64가 문제가 될 수 있음을 알고 있습니다.

당신이 할 수있는 일은 4D의 select 문에서 VARCHAR로 필드를 캐스팅하는 것입니다.

처럼 :

SELECT Field1, Field2, CAST(ProblemField AS VARCHAR) FROM MyTable 

사용중인 드라이버의 버전은 무엇? 나는 12.02를 사용하고 있었지만 몇 가지 버그를 수정 한 최신 버전이 있다는 것을 알고 있으며, 어떻게해야하는지 잘 모르겠습니다.

0

4D ODBC 드라이버가 매우 특별하다는 데 동의합니다.

특히 강한 유형의 주조가 필요합니다. 부울 값의 경우 IE CAST(1 as boolean).

4D에는 blob 외에 특정 데이터 유형의 그림이 있습니다. 하려고 할 때 아래를 참조

http://docs.4d.com/4Dv14R4/4D/14-R4/Principles-for-integrating-4D-and-the-4D-SQL-engine.300-1733038.en.html

목록을 Aparently 스키마 정보 http://docs.4d.com/4Dv14R4/4D/14-R4/System-Tables.300-1733035.en.html