2009-11-06 3 views
1

Informix Dynamic Server 2000 버전 9.21.UC4를 실행하는 이전 서버 (Solaris 8)가 있으며 다른 곳에서 데이터를 가져올 수 있도록 ODBC를 활성화하려고하지만 온라인으로 설명서를 찾을 수 없었습니다. 서버에서이 작업을 수행하는 방법에 대해 설명합니다. 서버에서 dbaccess를 사용하여 데이터를 얻을 수 있지만 서비스 목록을 살펴볼 때 IDS를 사용할 수있는 것이 아무것도 표시되지 않습니다 ...Informix Dynamic Server 2000 : ODBC를 어떻게 활성화합니까?

생각 하시겠습니까? 방향?

감사합니다.

추가 생각 :

  • 내 서버의 호스트 이름이 "이 r3tmmtx"
  • 인포믹스 내부 서버 이름은 "cms_ol"을 것으로 보인다

내 SQLHOSTS 파일 :

demo_on onipcshm  on_hostname  on_servername 
demo_se seipcpip  se_hostname  sqlexec 
cms_ol onipcshm  r3tmmtx   cms_ol 
oacms_ol  onipcstr  r3tmmtx oacms_ol 

"INFORMIX"가 포함 된 환경 변수 :

INFORMIXTERM=terminfo 
INFORMIXDIR=/opt/informix 
INFORMIXSERVER=cms_ol 
+0

데모 서버 항목이 필요하지 않으면 간단히 제거하십시오. PC에 원격으로 액세스 할 필요가없는 것처럼 보입니다. PC에서 (ODBC 프로그램을 실행하는 PC를 통해) PC에 연결하기를 원하지 않는 한, 반드시 나쁜 것은 아닙니다. 터미널 에뮬레이터를 실행하는 PC와는 달리 Solaris 컴퓨터에 설치하고 거기에서 ODBC 프로그램을 실행하면됩니다. –

답변

0

IDS는 DB 액세스를 허용 할 때 ODBC 연결을 허용하도록 자동으로 구성됩니다. 좀 더 까다 롭다면 아마도 ODBC에 IDS에 연결하는 방법을 알려주는 것입니다. 솔라리스에서 사용한 .odbc.ini 파일은 다음과 같습니다. 적절하게 수정되었으므로 잘 돌아갈 것입니다.

; 
; odbc.ini 
; 
[ODBC Data Sources] 
odbc_demo = IDS 11.50.FC3 stores on black 

[odbc_demo] 
Driver   = /usr/informix/11.50.FC1/lib/cli/libifcli.so 
Description  = IBM Informix CLI 3.50 
Server   = black_19 
FetchBufferSize = 99 
UserName  = jleffler 
Password  = PassWord 
Database  = stores 
ServerOptions = 
ConnectOptions = 
Options   = 
ReadOnly  = no 
Trace   = yes 
TraceFile  = /tmp/odbc.trace 

아니요 - 실제 비밀번호가 아닙니다. 또한 적절하게 구성된 sqlhosts 파일이 있습니다.

black_19  ontlitcp  black 18190 
black_19_tcp ontlitcp  black 18191  s=4,pam_serv=login,pamauth=password 
black_19_enc ontlitcp  black 18192  csm=(black_19_enc) 
black_19_shm onipcshm  black black_19 
black_19_str onipcstr  black black_19 
black_19_pwd ontlitcp  black 18193  csm=(black_19_pwd) 

OBDC 파일은 이러한 항목 중 첫 번째 항목을 사용합니다.

PC에서 IDS에 연결하려는 경우, PC에서 ODBC 연결을 구성해야합니다.이 영역은 전문가가 아닌 영역입니다. 관련 도구 중 하나는 SETNET32입니다. Windows에서만 CSDK). DSN이없는 연결을 구성해야 할 수도 있습니다 (또는 원할 수도 있습니다). 일반적으로 ODBC가 아닌 ESQL/C를 사용하여 IDS에 연결하기 때문에 그렇게하지 않았습니다.

또한 IDS 9.30 및 9.40은 모두 서비스가 중단됨을 유의하십시오. IDS 9.21은 오랫동안 서비스가 중단되었습니다.

+0

확실히 내 서버가 TCP 연결을 위해 구성되지 않은 것 같습니다 (위에서 추가 한 추가 정보 참조). 당신의 생각은 무엇입니까? –

+0

괜찮습니다. odbc.ini 파일에서 Server = cms_ol을 설정하십시오. 맞게 다른 값을 조정하십시오 (예 : 추적 및 TraceFile 항목을 삭제하고 드라이버 항목을 조정하십시오). 솔라리스 박스에서만 ODBC 용으로 작동합니다. PC에서 연결하는 경우에는 oltlitcp 서버 별명이 필요합니다. 내 상자에는 서버 이름이 black_19이고 서버 별명은 black_19_tcp, black_19_shm 및 black_19_str입니다. 나는 현재 다른 사람들을 사용하고 있지 않다. 서버 별명을 추가하면 sqlhosts 파일, $ ONCONFIG 파일을 편집 한 다음 IDS를 다시 시작합니다. –

0

/etc/services을 확인하십시오.

turbo 1526/tcp      #Informix server 

이 인포믹스는 그 다음이 듣고 다른 사람에게 볼 수 있는지 확인하기 위해 netstat -anp | grep [port]을 사용하여 포트 1526에서 수신 대기하는 것을 의미합니다 : 같은 뭔가가 있어야합니다. 표시되면 다른 컴퓨터에 CSDK를 설치하고 서버에 액세스하도록 ODBC를 구성하십시오.

저는 Solaris를 사용하지 않으므로 netstat에 -p 플래그가있어 어떤 응용 프로그램이 연결을 사용하고 있는지 알 수 없습니다.

+0

시스템에서 IPC 메커니즘 (스트림 및 공유 메모리)을 사용하고 있으며 sqlhosts 파일의 세 번째 열에있는 이름은 해당 컨텍스트의 서비스 이름이 아닙니다. 그것은 시스템에서 고유해야하는 일종의 파일 이름 (총체적으로 단순화)으로 끝납니다. 따라서 일반적으로 유효하지만 @ Denver의 상황에는 직접 적용 할 수 없습니다. PC에서 ODBC 프로그램을 실행하고 Solaris 컴퓨터에서 IDS 서버에 액세스하려고 시도하지 않는 한 - 네트워크 연결 유형이없는 사실은 매우 적합합니다. –