안녕하십니까
프로그램 작성시 로컬 DB가 아닌 다른 PC에 있는 DB에 접속해서
그쪽 데이타를 이용해 결과값을 얻고자 하는데
sqlplus in*/in*@g*211.1.1.1 sqlplus같은경우 이런식으로
다른 디비에 접속을 하는걸로 아는데
proC의경우 어떻게 해야될지 알고 싶습니다~
도와주세요~
ORACLE_HOME/network/admin/tnsnames.ora라는 파일이 있습니다. 내용이 다음과 같다고 가정합시다.
hh= (DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(HOST=서버IP)(PORT=포트)(PROTOCOL=tcp)) ) (CONNECT_DATA=(SID=DB의SID)) )
오라클 컨넥션 평션을 이렇게 짜면 됩니다.
일단 변수정의EXEC SQL BEGIN DECLARE SECTION; varchar Gv_Username[UNAME_LEN]; varchar Gv_Password[PWD_LEN]; varchar Gv_DBname[20];EXEC SQL END DECLARE SECTION;
int OracleConnect(){ /* Set up userid and password */
strcpy (Gv_Username.arr,"scott"); Gv_Username.len=strlen(Gv_Username.arr); strcpy (Gv_Password.arr,"tiger"); Gv_Password.len=strlen(Gv_Password.arr); strcpy (Gv_DBname.arr,"hh"); Gv_DBname.len=strlen(Gv_DBname.arr);
printf("Trying to connect...\n"); /* Connect to ORACLE */
/* Local Server */ /* EXEC SQL CONNECT :Gv_Username IDENTIFIED BY :Gv_Password; */ /* Remote Server */ EXEC SQL CONNECT :Gv_Username IDENTIFIED BY :Gv_Password USING :Gv_DBname; if (sqlca.sqlcode == 0) { printf(" connected.\n"); return TRUE; } else return FALSE;}
너무 감사합니다~~~ㅎㅎ
접속 잘되네요~ㅎㅎ