2017-11-13 3 views
0

저는 Apache Phoenix를 처음 사용합니다. Squirrel SQL 클라이언트에서 쿼리를 사용하여 테이블을 만들었습니다. 여기에 아래 샘플 쿼리를 공유했습니다.VARCHAR의 기본 길이와 최대 길이

CREATE TABLE IF NOT EXISTS 샘플 (조치 VARCHAR NOT NULL, 제목 VARCHAR, 전자 우편 VARCHAR, 유형 VARCHAR CONSTRAINT PKforum PRIMARY KEY (조치));

제목 열의 최대 크기는 200 자입니다.

그런 다음 Simba Pheonix ODBC 드라이버를 사용하여 Apache Phoenix에서 데이터를 가져 오려고했습니다. 이를 위해 아래의 C# 코드를 사용했습니다.

OdbcConnection connection = new OdbcConnection("Driver={Simba Phoenix ODBC Driver};host=<host name>;port=8765"); 
     connection.Open(); 
     OdbcCommand command = new OdbcCommand(query,connection); 
     OdbcDataReader dataReader = command.ExecuteReader(); 
     DataTable dataTable = new DataTable(); 
     dataTable.Load(dataReader); 
     connection.Close(); 

데이터 테이블로드시 예외가 발생했습니다.

제약 조건을 설정하지 못했습니다. 하나 이상의 행에 Null이 아니거나 고유하거나 외부 키 제약 조건을 위반하는 값이 있습니다.

아래와 같이 쿼리를 변경하면 괜찮습니다. NOT이 샘플이있는 경우

테이블 만들기 (NULL NOT 액션 VARCHAR를 제목 VARCHAR (300), 이메일 VARCHAR, 유형 VARCHAR CONSTRAINT PKforum PRIMARY KEY (액션));

여기 내 의심이 있습니다. Phoenix 서버의 VARCHAR의 기본 크기 및 최대 크기는 얼마입니까? 아래에 설명한 바와 같이

답변