안녕하세요
remote machine간에 connect을 갖기 위해서는
다음과 같은 사항이 우선되어야 합니다.
1) 서로간의 rlogin에서 passwd를 묻지 않아야 합니다.
2) onconfig file에 tcp로 DB를 connect 하는 DBSERVERALIAS가
존재해야 합니다.
3) 다른 기계에 connect하는 DBSERVERALIAS의 이름이 자신의
sqlhosts file에 존재해야 합니다.
예제)
1) onconfig
(A machine) (B machine)
DBSERVERNAME dkyoon731 test_shm
DBSERVERALIASES dkyoontcp test_tcp
2) sqlhosts
(A machine)
dkyoon731 onipcshm kor-olive abcde
dkyoontcp ontlitcp kor-olive postport3
test_tcp ontlitcp kor-k400 port88
(B machine)
test_shm onipcshm kor-k400 sqlexec
test_tcp ontlitcp kor-k400 port88
dkyoontcp ontlitcp kor-olive postport3
A machin에서는 DBSERVERALIAS test_tcp를 가지고
B machine의 DB에 접속
B machin에서는 DBSERVERALIAS dkyoontcp를 가지고
A machine의 DB에 접속
-- 오키 님이 쓰신 글:
>> (아래 답변 모두 감사드립니다.)
>>
>> 개발은 '나'컴에, 디비는 '가'컴을 이용하려합니다.
>> '가'와 '나' 모두 informix 서버가 깔려있습니다.
>> '나'컴에서 '가'컴에서 디비의 내용을 갖고 오려면 sdk인지.. 하는 것을 '나'컴에 깔아야 합니까?
>>
ESQL/C 나 ODBC를 이용하신다면 깔아야 합니다.
>> ESQL/C Version 9.30 이라는 것이 깔려 있는데 이것이 sdk와 같은 역할을 하는 것이라 들었습니다. 그럼 sdk는 안깔아도 되는거죠?
아마 깔려있는 것 같습니다.
ESQL/C 제품은 7.2X까지만 ESQL/C라는 이름으로 나오고,
9.X부터는 Client SDK내에 포함되어 있습니다.
따라서, 깔려 있는것 같네요.
$INFORMIXDIR/etc에서 다음의 명령을 해보세요.
cat *cr | grep SDK
아마, 있으면 CSDK 제품명과 버전이 나옵니다.
>> ESQL/C 의 설정을 어떻게 해줘야 할지...
엔진쪽 설정만 하시면 됩니다.
단지, DB 부를때 DB@dbserver명:table명 이런식으로 합니다.
물론 dbserver명은 sqlhosts file에 설정되어 있어야 합니다.
>>
>> 그리고 원격 연결부분은 다음과 같은데,
>>
>> $connect= ifx_connect("web_board@2xx.xxx.xxx.xxx/web", "id", "passwd");
>>
>> web_board=db_name
>> 2xx.xxx.xxx.xxx/web=2xx.xxx.xxx.xxx 컴의 db_server_name
>>
>> 이렇게 해줘도 되나요?
|