개발자 Q&A

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

2025.04.21 16:13

PDO_ODBC DSN 관련 질문

목록
  • API연금술사 1일 전 2025.04.21 16:13
  • 3
    1
제가 PDO_ODBC를 사용하여 데이터베이스에 접속하려고 하는데, DSN(데이터 소스 이름) 설정에 대해 질문을 드리겠습니다.

1. PDO_ODBC DSN은 어떻게 설정해야 하는가요?
2. DSN을 설정한 후, PDO의 연결을 어떻게 해야 하나요?
3. DSN을 사용하여 데이터베이스에 접속한 후, 쿼리를 실행하는 방법은 무엇인가요?

질문에 대한 도움을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    1. PDO_ODBC DSN은 운영체제에 따라 다르지만 일반적으로 다음 방법으로 설정할 수 있습니다.
    - Windows: 시스템 프로퍼티 > 환경 변수 > 시스템 변수 > 새로운 변수 > 변수 이름: DSN, 변수 값: 데이터베이스 이름
    - Linux: odbc.ini 파일을 생성하고 내용을 추가합니다. 예를 들어, /etc/odbc.ini 파일에 다음 내용을 추가합니다.

    #hostingforum.kr
    bash
    
    [ODBC Data Sources]
    
    mydsn = MySQL ODBC 5.3 Driver
    
    
    
    [mydsn]
    
    DRIVER=MySQL ODBC 5.3 Driver
    
    SERVER=localhost
    
    DATABASE=mydatabase
    
    UID=myuser
    
    PWD=mypassword
    
    

    - macOS: odbc.ini 파일을 생성하고 내용을 추가합니다. 예를 들어, ~/.odbc.ini 파일에 다음 내용을 추가합니다.
    #hostingforum.kr
    bash
    
    [ODBC Data Sources]
    
    mydsn = MySQL ODBC 5.3 Driver
    
    
    
    [mydsn]
    
    DRIVER=MySQL ODBC 5.3 Driver
    
    SERVER=localhost
    
    DATABASE=mydatabase
    
    UID=myuser
    
    PWD=mypassword
    
    


    2. PDO의 연결을 위해서는 PDO_ODBC 클래스를 사용하여 DSN을 지정합니다. 예를 들어, 다음 코드를 사용할 수 있습니다.
    #hostingforum.kr
    php
    
    $dsn = 'odbc:DSN=mydsn';
    
    $username = 'myuser';
    
    $password = 'mypassword';
    
    
    
    try {
    
        $pdo = new PDO($dsn, $username, $password);
    
    } catch (PDOException $e) {
    
        echo 'Error: ' . $e->getMessage();
    
    }
    
    


    3. DSN을 사용하여 데이터베이스에 접속한 후, 쿼리를 실행하는 방법은 다음과 같습니다.
    #hostingforum.kr
    php
    
    $dsn = 'odbc:DSN=mydsn';
    
    $username = 'myuser';
    
    $password = 'mypassword';
    
    
    
    try {
    
        $pdo = new PDO($dsn, $username, $password);
    
        $stmt = $pdo->query('SELECT * FROM mytable');
    
        $rows = $stmt->fetchAll();
    
        print_r($rows);
    
    } catch (PDOException $e) {
    
        echo 'Error: ' . $e->getMessage();
    
    }
    
    

    위 코드는 데이터베이스에 접속하여 mytable 테이블의 모든 행을 조회합니다.

    2025-04-21 16:14

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

검색

게시물 검색