database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 354 게시물 읽기
No. 354
Re: Re: Re: Re: Re: Re: sybase_connect()함수에서 에러가 나요..
작성자
황경욱(bennyjoon)
작성일
2002-04-02 20:47
조회수
5,989

계속되는 질문에도 꾸준히 답변 주셔서 감사드립니다..

그런데 계속 같은 결과네요...ㅠ.ㅠ;

 

말씀해주신대로 interfaces파일을 /opt/sybase-12.5/OCS-12_5 밑에

복사시켜놨습니다..

그리고 /opt/sybase-12.5 디렉토리 상에다

/opt/sybase-12.5/OCS-12_5/lib를 심볼릭 링크하는

lib도 생성시켜줬구요..

그런데 이상하게도 configure해줄때

--with-sybase-ct=/opt/sybase-12.5라고 하면

또 똑같은 에러가 뜹니다.

무슨 에러냐면 ctpublic.h 파일 못찾아서 컴파일에 실패했다는 에러요...

그러니까 /opt/sybase-12.5/OCS-12_5/lib/ctpublic.h를

못찾고 있는거겠죠..

분명 심볼릭링크는 해줬지만요....ㅠ.ㅠ

 

근데 다시 제가 예전에 했던 방식대로

--with-sybase-ct=/opt/sybase-12.5/OCS-12_5라고 하니까

ctpublic.h 오류는 안뜨고 컴파일 잘 됩니다..

 

위의 과정은 전부 root계정상에서 실행한 결과입니다..

근데 root계정으로 설치해주는게 맞나요?

저번에 말씀드렸듯이 root계정으로는 sybase에 접속이 안됩니다.

isql -Uphpmail -P -SMAIL 하면 이전에 보여드렸던 mysql에

관련된 에러메세지가 쭉 뜹니다.

오직 "sybase"계정(OS계정임)으로 재로그인한 후에

isql -Uphpmail -P -SMAIL해야만 db에 접속됩니다..

 

그리고 env해봐도 root계정에는 sybase에 관한 환경변수는 하나도 없습니다.

물론 sybase계정에서 env해보면 sybase에 관련된 환경변수가 여러개 있지만요..

 

LD_LIBRARY_PATH=/opt/sybase-12.5/ASE/lib:/opt/sybase-12.5/FTS/lib:/opt/sybase-12.5/OCS/lib:/opt/sybase-12.5/SQLRemote/lib:/opt/sybase-12.5/lib

 

위와 같은 환경변수도 있는데요..어디까지나 sybase계정에만 있는겁니다.

제가 프로그램 설치하고 있는 root계정에는 물론 없구요...

 

혹시 php4 설치하는 계정문제때문에 그런거는 아닌가요?

근데 사실 sybase계정으로 php4를 설치해보려고도 해봤지만

권한문제가 있는지 아예 설치가 안됐지만요..^^;;

 

 

-- jinuki 님이 쓰신 글:

>> 음..... 고생많으시네요...

>>

>> 먼저 /opt/sybase로 했을때 컴파일이 안되는 문제는

>> php가 $SYBASE/OCS12_5/lib 디렉토리를 찾지 못하기 때문입니다...

>> 예전 버전(11.9)의 sybase는 $SYBASE/lib 이런 구조로 되어있었죠....

>> 그래서 library path에 $SYBASE/OCS-12_5/lib를 추가하는 거구요...

>>

>> 그렇다면 먼저 두가지 정도를 해보세요...

>> 먼저, 현재 상태에서 interfaces 파일을 /opt/sybase/OCS-12_5밑에 카피하시고 프로그램을 다시 돌려보시구요...

>> 이때 interfaces 파일안에 서버에 대한 정보가 제대로 들어가 있는지 먼저 확인하시구요...

>>

>> 그래도 안되면요....

>> 먼저 /opt/sybase 에서

>> ln -s /opt/sybase/OCS-12_5/lib ./lib

>> 라고 심볼릭링크를 만드시구요....

>> --with-sybase-ct=/opt/sybase 으로 컴파일후 다시 테스트해보세요...

>>

>> interfaces의 정보가 제대로 등록되어 있는지 테스트하시구요...

>> isql -Uphpmail -P[password] -SMAIL

>> 이 되는지 확인하시구요....

>>

>>

>> 꼬옥 꼬옥 성공하세요......

>> 고지가 바로 저깁니다.....

>>

>> -- 황경욱 님이 쓰신 글:

>> >> 답변 감사드립니다..

>> >> 그런데 /etc/ld.so.conf 에 /opt/sybase/OCS-12_5/lib를 첨부하고

>> >> ldconfig를 실행하는거는 저도 해봤었지만 안됐습니다...

>> >> 아..그런데 ldconfig는 어느 디렉토리상에서나 실행시켜도 상관없는거죠?

>> >> 그리고 다른게 있다면 제 경우는 configure 할때

>> >> --with-sybase-ct=/opt/sybase 가아니라

>> >> --with-sybase-ct=/opt/sybase/OCS-12_5라고 했습니다.

>> >> 그렇게 안하면 make 시에, 파일을 찾을 수 없다는 에러가 떠서요.

>> >>

>> >> 아..근데요..Common하고 ocs가 설치되어있어야 한다고 하셨는데

>> >> ocs라는게 openclient를 말씀하시는건가요?

>> >> 제가 60일판 받는 사이트에서 찾아봐도 ocs라는 rpm이 없어서요..

>> >> 제 서버에 깔려있는 rpm은

>> >> sybase-ase-12.5-3

>> >> sybase-openclient-12.5-3

>> >> sybase-common-12.5-3

>> >> 입니다.

>> >>

>> >> 도대체 이유가 뭘까요?

>> >> sybase_open이 안된상태에서 다른 sybase함수라도 테스트 해볼 수는

>> >> 없나요??

>> >> 제 생각에는 sybase_open함수에 인자를 제대로 입력시켜준것 같은데 말이죠..

>> >> 첫번째 인자에는 'MAIL'이라고 sybase server name을 줬고,

>> >> 두번째 인자에는 'phpmail'이라는 sybase로그인 계정.(OS ID 아닙니다)

>> >> 세번째 인자에는 그 암호를 넣어줬습니다..

>> >>

>> >> 음...설치상의 문제인지 아님 함수를 제대로 사용을 못하고 있는거지..

>> >> 혼란스럽습니다......

>> >>

>> >> -- jinuki 님이 쓰신 글:

>> >> >> 이렇게 한번 해보세요.....

>> >> >>

>> >> >> 먼저 sybase common rpm하고 ocs rpm을 설치하시구요....(ASE12.5임다)

>> >> >>

>> >> >> root계정에서

>> >> >> 먼저 /etc/ld.so.conf 파일을 열어서요...

>> >> >> 여기에 /opt/sybase/OCS-12_5/lib를 첨가하시구요.... 저장한담에...

>> >> >> 프롬프트에서 ldconfig라고 실행합니다...

>> >> >> 글면 library path가 포함이 되구요....

>> >> >>

>> >> >> 그 담에 php 설정시 --with-sybase-ct=/opt/sybase 라고 주시구요... php 빌드를 다시 합니다....

>> >> >>

>> >> >> 이렇게 하고 다시 테스트해보세요...

>> >> >> 이번엔 잘될것 같습니다....

>> >> >>

>> >> >> 꼬옥 성공하시길...............

>> >> >>

>> >> >> 글구요... 밑에 isql은 mysql의 isql인것 같네요.... ^^*

>> >> >>

>> >> >>

>> >> >> -- 황경욱 님이 쓰신 글:

>> >> >> >> 안녕하세요.. 먼저 답변 감사드립니다.

>> >> >> >> 말씀하신대로 맨 먼저 PHP가 구동되는 os ID로 접속했을때

>> >> >> >> isql 명령을 시행해보니 다음과 같은 에러글이 뜹니다.

>> >> >> >> **********************************************

>> >> >> >> * unixODBC - isql *

>> >> >> >> **********************************************

>> >> >> >> * Syntax *

>> >> >> >> * *

>> >> >> >> * isql DSN [UID [PWD]] [options] *

>> >> >> >> * *

>> >> >> >> * Options *

>> >> >> >> * *

>> >> >> >> * -b Batch. No prompting etc *

>> >> >> >> * -dx Delimit cols with x *

>> >> >> >> * -w Wrap results in an HTML table *

>> >> >> >> * -v Verbose. *

>> >> >> >> * *

>> >> >> >> * Notes *

>> >> >> >> * *

>> >> >> >> * isql supports redirection and piping *

>> >> >> >> * for batch processing. *

>> >> >> >> * *

>> >> >> >> * Examples *

>> >> >> >> * *

>> >> >> >> * cat My.sql | isql WebDB MyID MyPWD -w *

>> >> >> >> * *

>> >> >> >> * Each line in My.sql must contain *

>> >> >> >> * exactly 1 SQL command except for the *

>> >> >> >> * last line which must be blank. *

>> >> >> >> * *

>> >> >> >> * Please visit; *

>> >> >> >> * *

>> >> >> >> * http://www.genix.net/unixODBC *

>> >> >> >> * pharvey@codebydesign.com *

>> >> >> >> *********************************************

>> >> >> >> 근데 제가 잘 몰라서 그러는데요..

>> >> >> >> 위의 에러는 제가 root계정으로 들어가서

>> >> >> >> isql명령을 친 겁니다..

>> >> >> >> 제가 php를 root계정으로 컴파일하고 설치했다면

>> >> >> >> php의 구동ID가 root맞죠?

>> >> >> >>

>> >> >> >> 근데 sybase서버의 구동 OS ID는 "sybase"입니다.

>> >> >> >> 그래서 "sybase" ID로 로그인한뒤에 isql을 하면 위와같은

>> >> >> >> 에러가 안뜨고 DB에 접속이 잘됩니다.

>> >> >> >>

>> >> >> >> 아 그런데 apache도 root계정으로 설치해줬지만

>> >> >> >> conf파일의 user랑 guest는 둘다 nobody니까

>> >> >> >> 이경우 apache의 구동 OS계정은 nobody가 되는건가요??

>> >> >> >> 음...그러면 php도 root계정이 아닐 수도 있겠네요?

>> >> >> >>

>> >> >> >> 아..근데 이런게 중요한게 아니죠...^^

>> >> >> >> 암튼 root계정에서 isql -Usa ~~를 입력하면

>> >> >> >> 위의 에러가 뜹니다. ">" 요건 안나오고요...

>> >> >> >>

>> >> >> >> 그럼 PHP에 접속이 안되는 이유가 이것때문인가요??

>> >> >> >> 어떻게 대처해야할 지 잘 모르겠습니다..

>> >> >> >> 답변 기다리겠습니다.

>> >> >> >>

>> >> >> >>

>> >> >> >>

>> >> >> >> -- jinuki 님이 쓰신 글:

>> >> >> >> >> 음냐.... 산넘어 산이네요.... ^^*

>> >> >> >> >> 고생이 많으신것 같은데.....

>> >> >> >> >>

>> >> >> >> >> 먼저, sybase client는 license없이도 사용하실 수 있습니다..

>> >> >> >> >> 기본적으로 라이센스는 server option에 관련된 부분이니까요...

>> >> >> >> >> 단지 클라이언트로만 사용하실때는 아무 문제 없습니다...

>> >> >> >> >>

>> >> >> >> >> 음.... 먼저 php가 구동되는 os id로 접속했을때 그 sybase서버로 접속이 가능한지 확인해보세요..

>> >> >> >> >> $ isql -Usa -P -S[servername]

>> >> >> >> >> 1>

>> >> >> >> >> 이렇게 되는지 부터 확인하시구요...

>> >> >> >> >>

>> >> >> >> >> 그 담에 각 환경변수를 확인해보세요...

>> >> >> >> >> $SYBASE

>> >> >> >> >> $LD_LIBRARY_PATH

>> >> >> >> >> $PATH

>> >> >> >> >>

>> >> >> >> >> 글구 php빌드할때 홈디렉토리는 /opt/sybase 로 주셨나요???

>> >> >> >> >> 그러면 /opt/sybase 밑에 lib 디렉토리를 symbolic link해줘야 할 것 같은데...

>> >> >> >> >>

>> >> >> >> >> 수고하시구요.... 잘 안되면 다시 질문 올려주세요.....

>> >> >> >> >>

>> >> >> >> >> 다시 해보시구

>> >> >> >> >> -- 황경욱 님이 쓰신 글:

>> >> >> >> >> >> 안녕하십니까....

>> >> >> >> >> >> 밑에 있는 글에서 php4랑 sybase12.5를 연동하는 문제에 대해서

>> >> >> >> >> >> 물어본 사람인데요..

>> >> >> >> >> >>

>> >> >> >> >> >> jinuki님이 말씀하신대로 sybase-12.5 open client를

>> >> >> >> >> >> 사이베이스 홈페이지에서 60일 trial버전을 다운받아서 설치해줬습니다.

>> >> >> >> >> >> 아..참고로 저는 리눅스를 사용하고 있습니다.

>> >> >> >> >> >>

>> >> >> >> >> >> 설치한 후에 php를 다시 컴파일해보니까

>> >> >> >> >> >> 이젠 sybase에 관련된 오류는 안뜨고 제대로 컴파일이 되는 것 같았습니다.

>> >> >> >> >> >>

>> >> >> >> >> >> 그런데 막상 웹상에서 sybase_connect()함수를 실행시켜보니까

>> >> >> >> >> >> 에러가뜹니다. 다음과 같이요..

>> >> >> >> >> >>

>> >> >> >> >> >> Warning: Sybase: Unable to allocate connection record in /home/www/functions/sybase.php on line 7

>> >> >> >> >> >> Failed to connect DB

>> >> >> >> >> >>

>> >> >> >> >> >> 서버네임이나 로그온네임,암호 등은 제대로 입력하였습니다..

>> >> >> >> >> >> db서버는 php랑 같이있으니까 그냥 sybase이름만 쓰면 되는거 맞죠?

>> >> >> >> >> >> interface에 있는 이름이요..

>> >> >> >> >> >> 근데도 안되네요..

>> >> >> >> >> >>

>> >> >> >> >> >> 혹시 제가 sybase-12.5-openclient를 설치하기는 했지만

>> >> >> >> >> >> license번호를 아직 입력을 안했는데 혹시 이것때문인가요?

>> >> >> >> >> >> license번호를 메일을 통해 받기는 했는데

>> >> >> >> >> >> 이걸 어디서 어떻게 입력해야 하는지 몰라서

>> >> >> >> >> >> 그냥 현재는 rpm ivh 만 된 상태입니다..

>> >> >> >> >> >>

>> >> >> >> >> >> 아..근데 설치되어있던 sybase-ASE-12.5 자체는 정품입니다..

>> >> >> >> >> >> 제가 새로 다운받은 openclient만 60일버전인거죠...

>> >> >> >> >> >> license를 어디서 입력해줘야하나요?

>> >> >> >> >> >> sybase홈페이지 가보니까 installer 를 다운받아서 실행시켜야 한다던데

>> >> >> >> >> >> 막상 리눅스용installer만 없습니다...ㅠ.ㅠ

>> >> >> >> >> >>

>> >> >> >> >> >> 암튼 sybase함수가 하나도 안먹혀서 죽겠어요..

>> >> >> >> >> >> 도움 좀 부탁드리겠습니다.

[Top]
No.
제목
작성자
작성일
조회
352jinuki님 감사~ 하나더 여쭐께요~^^ [1]
이썬~
2002-04-01
5680
347Sybase client (리눅스용) 어디서 구하나요? [1]
Sybase 연결하려고...
2002-03-31
7165
346sybase 에도 이런기능이 있는지여~~ [1]
2002-03-30
6322
345sybase_connect()함수에서 에러가 나요..
황경욱
2002-03-29
6147
348┕>Re: sybase_connect()함수에서 에러가 나요..
jinuki
2002-04-01 11:14:53
6128
349 ┕>Re: Re: sybase_connect()함수에서 에러가 나요..
황경욱
2002-04-01 12:04:23
6272
350  ┕>Re: Re: Re: sybase_connect()함수에서 에러가 나요..
jinuki
2002-04-01 14:29:49
5959
351   ┕>Re: Re: Re: Re: sybase_connect()함수에서 에러가 나요..
황경욱
2002-04-01 17:06:35
6124
353    ┕>Re: Re: Re: Re: Re: sybase_connect()함수에서 에러가 나요..
jinuki
2002-04-02 10:47:17
6018
354     ┕>Re: Re: Re: Re: Re: Re: sybase_connect()함수에서 에러가 나요..
황경욱
2002-04-02 20:47:44
5989
357      ┕>Re: Re: Re: Re: Re: Re: Re: sybase_connect()함수에서 에러가 나요..
jinuki
2002-04-03 15:25:55
6419
344사이베이스로 웹페이지를 작성하려하는데.. [6]
강정일
2002-03-28
6484
342php로 외부Sybase서버와 연동하려면...?? [1]
후후
2002-03-27
6285
338ase12.5 install에 대해서.....
기준
2002-03-25
6436
340┕>Re: ase12.5 install에 대해서.....
jinuki
2002-03-26 13:33:54
6606
341 ┕>Re: Re: ase12.5 install에 대해서.....
기준
2002-03-27 09:04:50
6367
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다