티스토리 뷰

ci와 mssql2008 연결은 sqlsrv를 사용하면 연결 가능하다 다만 서버에 sqlcmd설치가 되야 연결 가능

 

연결 후 다국어 처리 시 값 앞에 N을 넣어주게 되는데 이부분 처리를 매번 하지 않고 ci설정을 변경해서 처리함

 

/system/database/DB_Driver.php

 

protected function _insert($table, $keys, $values)

  {

    foreach($values as $key => $value)

{

      if(substr($value,0,1) == "'")

      {

          $values[$key] = "N". $value;

      }

}

    return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES ('.implode(', ', $values).')';

  }

 

  protected function _update($table, $values)

  {

    foreach($values as $key => $value)

    {

      if(substr($value,0,1) == "'")

      {

          $values[$key] = "N". $value;

      }

    }

    foreach ($values as $key => $val)

 

    {

      $valstr[] = $key.' = '.$val;

    }

 

    return 'UPDATE '.$table.' SET '.implode(', ', $valstr)

      .$this->_compile_wh('qb_where')

      .$this->_compile_order_by()

      .($this->qb_limit ? ' LIMIT '.$this->qb_limit : '');

  }

 

/system/database/DB_query_builder.php

 

_wh, _where_in, _like, _insert_batch, _update_batch, _replace

위 메서드들에도 추가

내용이 많아서 그냥 파일 첨부

버전은 3.1.4

DB_query_builder.php
0.06MB

 

댓글