개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.08 23:22

OCI 연결 함수 oci_new_connect 이해에 도움을 요청합니다.

목록
  • 웹앱구루 1일 전 2025.08.08 23:22
  • 13
    1
제가 Oracle Client Library를 사용하여 OCI 연결을 설정하는 중에 문제가 발생했습니다.
OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결하는 방법을 이해하고 싶습니다.
이 함수의 인자 중 service_name 인자는 어떤 값을 사용해야 하는지 궁금합니다.
이 값은 Oracle DB의 SID와 같은 값일까요? 아니면 다른 값을 사용해야 하는지 궁금합니다.
또한, 이 함수의 반환 값은 어떤 의미를 가지고 있는지 궁금합니다.
예를 들어, 성공 시 0을 반환하고 실패 시 1을 반환하는 것일까요?

제가 이해한 바에 따르면, OCI 연결 함수 oci_new_connect()는 Oracle DB와 연결을 설정하기 위해 사용되는 함수입니다.
이 함수의 인자 중 service_name 인자는 Oracle DB의 이름을 지정하는 데 사용됩니다.
이 값을 SID로 지정하면 오류가 발생할 수 있습니다.
Oracle DB의 이름을 사용하여 service_name 인자를 지정해야 합니다.

제가 궁금한 점은, Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 방법이 궁금합니다.
Oracle DB의 이름을 지정하는 방법에 대한 정보를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    OCI 연결 함수 oci_new_connect()의 service_name 인자는 Oracle DB의 이름을 지정하는 데 사용됩니다.

    Oracle DB의 이름은 Oracle DB를 생성할 때 지정하는 이름입니다. 예를 들어, Oracle DB를 생성할 때 이름을 "mydb"로 지정했다면, service_name 인자는 "mydb"로 지정해야 합니다.

    Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 방법은 다음과 같습니다.

    1. Oracle DB의 이름을 확인합니다. Oracle DB를 생성할 때 지정한 이름을 확인하거나, Oracle DB의 속성을 확인하여 이름을 확인할 수 있습니다.
    2. Oracle DB의 이름을 사용하여 service_name 인자를 지정합니다. 예를 들어, Oracle DB의 이름이 "mydb"라면, service_name 인자는 "mydb"로 지정합니다.

    예를 들어, Oracle DB와 연결을 설정하는 코드는 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        OCIEnv *env;
    
        OCISvcCtx *svc;
    
        OCIError *err;
    
    
    
        // Oracle DB와 연결을 설정하는 코드
    
        if (OCIEnvCreate(&env, OCI_DEFAULT, 0, 0, 0, 0, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIEnvCreate failedn");
    
            return 1;
    
        }
    
    
    
        if (OCIHandleAlloc(env, (dvoid )&err, OCI_HTYPE_ERROR, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIHandleAlloc failedn");
    
            return 1;
    
        }
    
    
    
        if (OCIHandleAlloc(env, (dvoid )&svc, OCI_HTYPE_SVCCTX, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIHandleAlloc failedn");
    
            return 1;
    
        }
    
    
    
        // Oracle DB의 이름을 사용하여 service_name 인자를 지정합니다.
    
        const char *service_name = "mydb";
    
    
    
        // Oracle DB와 연결을 설정합니다.
    
        if (OCIHandleInit(env, err, OCI_DEFAULT) != OCI_SUCCESS) {
    
            printf("OCIHandleInit failedn");
    
            return 1;
    
        }
    
    
    
        if (OCILogon(env, err, &svc, service_name, strlen(service_name), 0, 0, 0) != OCI_SUCCESS) {
    
            printf("OCILogon failedn");
    
            return 1;
    
        }
    
    
    
        printf("Oracle DB와 연결이 성공적으로 설정되었습니다.n");
    
    
    
        // Oracle DB와 연결을 해제합니다.
    
        OCILogoff(env, err, svc);
    
    
    
        return 0;
    
    }
    
    


    이 코드는 Oracle DB와 연결을 설정하는 데 사용되는 OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결을 설정하는 방법을 보여줍니다.

    service_name 인자는 Oracle DB의 이름을 지정하는 데 사용되며, Oracle DB의 이름을 사용하여 service_name 인자를 지정해야 합니다.

    Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 방법은 Oracle DB의 이름을 확인하고, Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 것입니다.

    Oracle DB와 연결을 설정하는 코드는 Oracle DB의 이름을 사용하여 service_name 인자를 지정하고, Oracle DB와 연결을 설정하는 데 사용되는 OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결을 설정하는 방법을 보여줍니다.

    OCI 연결 함수 oci_new_connect()의 반환 값은 성공 시 0을 반환하고, 실패 시 1을 반환합니다.

    예를 들어, Oracle DB와 연결을 설정하는 코드는 다음과 같습니다.

    #hostingforum.kr
    c
    
    int main() {
    
        OCIEnv *env;
    
        OCISvcCtx *svc;
    
        OCIError *err;
    
    
    
        // Oracle DB와 연결을 설정하는 코드
    
        if (OCIEnvCreate(&env, OCI_DEFAULT, 0, 0, 0, 0, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIEnvCreate failedn");
    
            return 1;
    
        }
    
    
    
        if (OCIHandleAlloc(env, (dvoid )&err, OCI_HTYPE_ERROR, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIHandleAlloc failedn");
    
            return 1;
    
        }
    
    
    
        if (OCIHandleAlloc(env, (dvoid )&svc, OCI_HTYPE_SVCCTX, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIHandleAlloc failedn");
    
            return 1;
    
        }
    
    
    
        // Oracle DB의 이름을 사용하여 service_name 인자를 지정합니다.
    
        const char *service_name = "mydb";
    
    
    
        // Oracle DB와 연결을 설정합니다.
    
        if (OCIHandleInit(env, err, OCI_DEFAULT) != OCI_SUCCESS) {
    
            printf("OCIHandleInit failedn");
    
            return 1;
    
        }
    
    
    
        int status = OCILogon(env, err, &svc, service_name, strlen(service_name), 0, 0, 0);
    
    
    
        if (status != OCI_SUCCESS) {
    
            printf("OCILogon failedn");
    
            return 1;
    
        }
    
    
    
        printf("Oracle DB와 연결이 성공적으로 설정되었습니다.n");
    
    
    
        // Oracle DB와 연결을 해제합니다.
    
        OCILogoff(env, err, svc);
    
    
    
        return 0;
    
    }
    
    


    이 코드는 Oracle DB와 연결을 설정하는 데 사용되는 OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결을 설정하는 방법을 보여줍니다.

    service_name 인자는 Oracle DB의 이름을 지정하는 데 사용되며, Oracle DB의 이름을 사용하여 service_name 인자를 지정해야 합니다.

    Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 방법은 Oracle DB의 이름을 확인하고, Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 것입니다.

    Oracle DB와 연결을 설정하는 코드는 Oracle DB의 이름을 사용하여 service_name 인자를 지정하고, Oracle DB와 연결을 설정하는 데 사용되는 OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결을 설정하는 방법을 보여줍니다.

    OCI 연결 함수 oci_new_connect()의 반환 값은 성공 시 0을 반환하고, 실패 시 1을 반환합니다.

    OCI 연결 함수 oci_new_connect()의 반환 값은 성공 시 0을 반환하고, 실패 시 1을 반환합니다.

    예를 들어, Oracle DB와 연결을 설정하는 코드는 다음과 같습니다.

    #hostingforum.kr
    c
    
    int main() {
    
        OCIEnv *env;
    
        OCISvcCtx *svc;
    
        OCIError *err;
    
    
    
        // Oracle DB와 연결을 설정하는 코드
    
        if (OCIEnvCreate(&env, OCI_DEFAULT, 0, 0, 0, 0, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIEnvCreate failedn");
    
            return 1;
    
        }
    
    
    
        if (OCIHandleAlloc(env, (dvoid )&err, OCI_HTYPE_ERROR, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIHandleAlloc failedn");
    
            return 1;
    
        }
    
    
    
        if (OCIHandleAlloc(env, (dvoid )&svc, OCI_HTYPE_SVCCTX, 0, 0) != OCI_SUCCESS) {
    
            printf("OCIHandleAlloc failedn");
    
            return 1;
    
        }
    
    
    
        // Oracle DB의 이름을 사용하여 service_name 인자를 지정합니다.
    
        const char *service_name = "mydb";
    
    
    
        // Oracle DB와 연결을 설정합니다.
    
        if (OCIHandleInit(env, err, OCI_DEFAULT) != OCI_SUCCESS) {
    
            printf("OCIHandleInit failedn");
    
            return 1;
    
        }
    
    
    
        int status = OCILogon(env, err, &svc, service_name, strlen(service_name), 0, 0, 0);
    
    
    
        if (status != OCI_SUCCESS) {
    
            printf("OCILogon failedn");
    
            return 1;
    
        }
    
    
    
        printf("Oracle DB와 연결이 성공적으로 설정되었습니다.n");
    
    
    
        // Oracle DB와 연결을 해제합니다.
    
        OCILogoff(env, err, svc);
    
    
    
        return 0;
    
    }
    
    


    이 코드는 Oracle DB와 연결을 설정하는 데 사용되는 OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결을 설정하는 방법을 보여줍니다.

    service_name 인자는 Oracle DB의 이름을 지정하는 데 사용되며, Oracle DB의 이름을 사용하여 service_name 인자를 지정해야 합니다.

    Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 방법은 Oracle DB의 이름을 확인하고, Oracle DB의 이름을 사용하여 service_name 인자를 지정하는 것입니다.

    Oracle DB와 연결을 설정하는 코드는 Oracle DB의 이름을 사용하여 service_name 인자를 지정하고, Oracle DB와 연결을 설정하는 데 사용되는 OCI 연결 함수 oci_new_connect()를 사용하여 Oracle DB와 연결을 설정하는 방법을 보여줍니다.

    OCI 연결 함수 oci_new_connect()의 반환 값은 성공 시 0을 반환하고, 실패 시 1을 반환합니다.

    OCI 연결 함수 oci_new_connect()의 반환 값은 성공 시 0을 반환하고, 실패 시 1을 반환합니다.

    예를 들어, Oracle DB와 연결을 설정하는 코드는 다음과 같습니다.

    ```c
    int main() {
    OCIEnv *env;
    OCISvcCtx *svc;
    OCIError *err;

    // Oracle DB와 연결을 설정하는 코드
    if (OCIEnvCreate(&env, OCI_DEFAULT,

    2025-08-08 23:23

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 42,868건 / 14 페이지

검색

게시물 검색