0 / 0
영어 버전 문서로 돌아가기

common core services 문제 해결

마지막 업데이트 날짜: 2024년 11월 22일
common core services 문제 해결

이러한 솔루션을 사용하여 연결과 관련하여 발생할 수 있는 문제를 해결하세요.

IBM Db2 for z/OS: Db2 for z/OS 서버에 연결하려고 할 때 스키마 목록을 검색하는 동안 오류가 발생했습니다

Db2 for z/OS 서버에 대한 연결을 테스트할 때 연결에서 스키마 목록을 검색할 수 없는 경우 다음 오류가 발생할 수 있습니다:

CDICC7002E: The assets request failed: CDICO2064E: The metadata for the column TABLE_SCHEM could not
 be obtained: Sql error: [jcc][10150] [10300][4.28.11] Invalid parameter: Unknown column name
 TABLE_SCHEM. ERRORCODE=-4460, SQLSTATE=null

문제점 해결

Db2 for z/OS 서버에서 DESCSTAT 서브시스템 파라미터를 ' No'로 설정합니다. 자세한 내용은 정적에 대한 설명 필드(DESCSTAT 하위 시스템 매개변수)를 참조하세요.

더 이상 사용되지 않는 기능에서 생성된 코드를 실행하여 Informix 연결에 대한 데이터를 로드할 수 없습니다

"DatabaseError: SQL에서 실행 실패:... 더 이상 사용되지 않는 기능을 사용할 때 Informix 데이터베이스에서 데이터를 로드하기 위해 생성된 코드를 실행할 때 대문자 이름의 테이블을 쿼리하려고 하면 "롤백할 수 없음"이라는 오류가 발생합니다.

원인

Informix 데이터베이스는 대소문자를 구분하는 식별자를 위해 구성되어 있으므로 생성된 코드를 업데이트해야 합니다.

문제점 해결

가능하다면 Flight service 사용하여 생성된 코드를 사용하여 Informix 연결에서 데이터를 로드하도록 변경하세요. 더 이상 사용되지 않는 기능으로 생성된 코드를 계속 사용하려면 다음과 같이 생성된 코드를 편집해야 합니다:

  • Python 경우 연결에 연결 속성 ' 'DELIMIDENT=Y' '을 추가하고 대문자 식별자를 큰따옴표("")로 묶습니다. 다음 줄을 바꿉니다:

    Informix_connection = jaydebeapi.connect('com.informix.jdbc.IfxDriver',
    '{}://{}:{}/{}:user={};password={};'.format('jdbc:informix-sqli',
    Informix_metadata['host'],
    Informix_metadata['port'],
    Informix_metadata['database'],
    Informix_metadata['username'],
    Informix_metadata['password']),
    [Informix_metadata['username'],
    Informix_metadata['password']])
    
    query = 'SELECT * FROM informix.FVT_EMPLOYEE'
    

    다음을 포함합니다.

    Informix_connection = jaydebeapi.connect('com.informix.jdbc.IfxDriver',
    '{}://{}:{}/{}:user={};password={};DELIMIDENT=Y;'.format('jdbc:informix-sqli',
    Informix_metadata['host'],
    Informix_metadata['port'],
    Informix_metadata['database'],
    Informix_metadata['username'],
    Informix_metadata['password']),
    [Informix_metadata['username'],
    Informix_metadata['password']])
    
    query = 'SELECT * FROM informix."FVT_EMPLOYEE"'
    
  • Python 사용하는 Spark의 경우 교체합니다:

    data_df_0 = sparkSession.read.format('jdbc') \
      .option('url', 'jdbc:informix-sqli://{}:{}/{}'.format(Informix_metadata['host'],Informix_metadata['port'],Informix_metadata['database'])) \
      .option('dbtable', 'informix.FVT_EMPLOYEE') \
      .option('user', Informix_metadata['username']) \
      .option('password', Informix_metadata['password']).load()
    data_df_0.show(5)
    

    다음을 포함합니다.

    data_df_0 = sparkSession.read.format('jdbc') \
      .option('url', 'jdbc:informix-sqli://{}:{}/{}'.format(Informix_metadata['host'],Informix_metadata['port'],Informix_metadata['database'])) \
      .option('dbtable', 'informix."FVT_EMPLOYEE"') \
      .option('DELIMIDENT', 'Y') \
      .option('user', Informix_metadata['username']) \
      .option('password', Informix_metadata['password']).load()
    data_df_0.show(5)
    
  • R의 경우 연결에 연결 속성 ' 'DELIMIDENT=Y' '을 추가하고 모든 대문자 이름을 큰따옴표("")로 묶습니다. 다음 줄을 바꿉니다:

    paste("jdbc:informix-sqli://", Informix_credentials[][["host"]], ":", Informix_credentials[][["port"]],
    "/", Informix_credentials[][["database"]],
    ":user=", Informix_credentials[][["username"]],
    ";password=", Informix_credentials[][["password"]], ";", sep=""),
    ...
    query <- "SELECT * FROM myschema.MY_TABLE"
    

    다음을 포함합니다.

    paste("jdbc:informix-sqli://", Informix_credentials[][["host"]], ":", Informix_credentials[][["port"]],
    "/", Informix_credentials[][["database"]],
    ":user=", Informix_credentials[][["username"]],
    ";password=", Informix_credentials[][["password"]],";DELIMIDENT=Y", ";", sep=""),
    ...
    query <- "SELECT * FROM myschema.\"MY_TABLE\""
    

상위 주제: Cloud Pak for Data 문제 해결