| 제목 | 오라클 액티브쿼리 질문입니다. | ||
|---|---|---|---|
| 글쓴이 | 뫄뫄잉뿌 | 작성시각 | 2015/12/14 08:36:48 | 
|  | |||
| model 단에서 오라클 DB에 쿼리를 날리는데 액티브 쿼리를 통해 날리고 싶어서 코드를 짜봤는데 자꾸 에러가납니다. 저번에 올렸는데 아무래도 새로 올리는게 나을거같아서요...ㅜㅜ 틀린곳이 없는거같은데 왜안되는지 모르겠네요.. 
$this->exhibit_db->select('ex.EXH_NM,  bbs.ntt_sj, bbs.ATCH_FILE_ID, bbs.MOVIE_SN, bbs.THUM_SN, fdd.FILE_STRE_COURS, fd.STRE_FILE_NM AS movieNm, fdd.STRE_FILE_NM AS imgNm,
			  bbs.VIDEO_URL as link, bbs.MCOMPANY_ID, bbs.FRST_REGIST_PNTTM, bbs.LAST_UPDT_PNTTM',false);
$this->exhibit_db->from('T_EXHIBITION as ex');
$this->exhibit_db->join('LETTNBBS as bbs','ex.EXH_ID = bbs.EXH_ID');
$this->exhibit_db->join('LETTNFILEDETAIL as fd', 'fd.ATCH_FILE_ID = bbs.ATCH_FILE_ID and bbs.MOVIE_SN=fd.FILE_SN', 'left outer');
$this->exhibit_db->join('LETTNFILEDETAIL as fdd', 'fdd.ATCH_FILE_ID = bbs.ATCH_FILE_ID and bbs.THUM_SN=fdd.FILE_SN', 'left outer');
$this->exhibit_db->where('bbs.EXH_ID',$exh_id);
$this->exhibit_db->where('bbs.NTT_ID',$ntt_id);
		
$row = $this->exhibit_db->get()->result();
return $row;
 | |||
| 다음글 | 컨트롤 관련 질문드립니다. (2) | ||
| 이전글 | file upload class 사용시 $config[... (2) | ||
| 
                                한대승(불의회상)
                                /
                                2015/12/14 09:19:09 /
                                추천
                                0
                             | 
| 
                                뫄뫄잉뿌
                                /
                                2015/12/14 09:37:05 /
                                추천
                                0
                             Error Number: 
 SELECT ex.EXH_NM, bbs.ntt_sj, bbs.ATCH_FILE_ID, bbs.MOVIE_SN, bbs.THUM_SN, fdd.FILE_STRE_COURS, fd.STRE_FILE_NM AS movieNm, fdd.STRE_FILE_NM AS imgNm, bbs.VIDEO_URL as link, bbs.MCOMPANY_ID, bbs.FRST_REGIST_PNTTM, bbs.LAST_UPDT_PNTTM FROM "T_EXHIBITION" ex JOIN "LETTNBBS" bbs ON "ex"."EXH_ID" = "bbs"."EXH_ID" LEFT OUTER JOIN "LETTNFILEDETAIL" fd ON "fd"."ATCH_FILE_ID" = "bbs"."ATCH_FILE_ID" and bbs.MOVIE_SN=fd.FILE_SN LEFT OUTER JOIN "LETTNFILEDETAIL" fdd ON "fdd"."ATCH_FILE_ID" = "bbs"."ATCH_FILE_ID" and bbs.THUM_SN=fdd.FILE_SN WHERE "bbs"."EXH_ID" = 'EXH_0000000000000315' AND "bbs"."NTT_ID" = '916' Filename: /home/www/public_html/mhellot_test/modules/exhibit/models/exhibit_model.php 
 이렇게만 나오는데...어떤에러인지보려면 어떻게해야하나요? | 
| 
                                한대승(불의회상)
                                /
                                2015/12/14 09:55:17 /
                                추천
                                0
                             에러로 출력된 SQL문을 복사하여 오라클 클라이언트(toad 같은)에서 직접 실행 시켜 보세요. | 
| 
                                뫄뫄잉뿌
                                /
                                2015/12/14 10:16:21 /
                                추천
                                0
                             "bbs"."EXH_ID": invalid identifier 
 라고 나오네요..ㅠㅠ 필드명은 일치하는데.. | 
| 
                                쌈닭
                                /
                                2015/12/14 14:33:23 /
                                추천
                                0
                             오타나 해당 컬럼이 실제 테이블에 생성되어 있는지 확인해 보라고 하네요... | 
| 
                                뫄뫄잉뿌
                                /
                                2015/12/14 14:50:41 /
                                추천
                                0
                             쌍따옴표가 문제인거같습니다. 오라클 클라이언트에서 똑같은 구문인데도 쌍따옴표만 다 없앴더니 정상적으로 결과가 나오네요... 없애는 방법이 없을까요?ㅜㅜ | 
| 
                                쌈닭
                                /
                                2015/12/14 15:00:44 /
                                추천
                                0
                             혹시 ODBC 드라이버 사용하시나요? 
 좀 오래돼서 가물가물하긴 한데... 
 /system/database/drivers/odbc/odbc_driver.php 에서 
 protected $_escape_char = ''; 
 여기에 오라클 이스케이프 문자를 넣어서 해보실래요? | 
| 
                                뫄뫄잉뿌
                                /
                                2015/12/14 15:17:24 /
                                추천
                                0
                             oci8를 사용해서 oci8_driver에서 http://stackoverflow.com/questions/17053250/codeigniter-activerecords-and-oracle-configuration 이곳을 참고해서 replace해보았는데도 여전히 쌍따옴표가 붙네요.. 
 쌈닭/ $_escape_char = '"';로 쌍다옴표가 이미 선언되어있었습니다 ㅜㅜ | 
| 
                                뫄뫄잉뿌
                                /
                                2015/12/14 15:47:12 /
                                추천
                                0
                             해결했습니다! 
 oci8_driver.php 603라인에 $str = $item; 으로 바꿔주면 되네용 ㅎㅎ | 
어떤 에러가 발생 하나요?