매뉴얼

기타 외부 데이타 베이스와 연동 하는 방법 : curl_load()

 

현재 외부 데이타 베이스 my-sql 같은 경우는 자체 모듈이 지원되기때문에 연동이 가능 합니다.

[ my-sql 연동 매뉴얼 :  http://wdev.anybuild.co.kr/bbs/faq/4472 ]

하지만 ms-sql 연동은 PHP7에서 더 이상 지원하지 않는 관계로 앞으로 사용할 수 없게 되었습니다.

ms-sql 을 사용 하시는 분들은 아래와 같은 방법으로 대체 하시기 바랍니다.

 

오라클, MS-SQL, 기타 모든 DB의 경우 당사 서버와 직접 적인 접속이 불가능 하므로 소캣방식으로 데이타정보를 주고 받는 방식으로 구현 해야 합니다.

소캣방식을 좀 더 쉽게 말씀드리면, 특정 URL의 웹페이지를  TEXT로 가져와서 원하는 값을 발취하는 방식을 말합니다.

 

예를들어 보겠습니다.

애니빌드 솔루션에서 쇼핑몰을 운영하고 있으며, A사의 A포인트와 연동 되어 있다고 가정 하겠습니다.

회원이 자신의 마이페이지 접속시 A사의 A포인트를 보여 줘야 합니다. 

하지만 A포인트를 조회 하려면 A사의의 DB서버에 접속해야 하는데 연동이 불가능 하므로, A사 서버에 해당 정보를 조회 할수 있도록 별도 웹페이지를 만들어야 합니다.

해당 웹페이지의 정보를 아래와 같이 만들었다고 가정 하겠습니다.

 


A사 나의포인트 조회 URL : http://aaaaaaaaaa.com/api/mypoint.asp?mem_id=abcd

출력 값 : 25600


A사 나의포인트 내역 URL : http://aaaaaaaaaa.com/api/mypoint_list.asp?mem_id=abcd

출력 값 :
10,2017-06-01,25000^
9,2017-05-01,12000^
8,2017-04-01,32000^
7,2017-03-01,11000^
6,2017-02-01,9000^
.....(반복)....


A사 서버에 위와 같이 파일을 생성 했다면 애니빌드에서 위 정보를 쉽게 가져 올수 있습니다.

{@
// 나의 포인트 가져오기

$mypoint = curl_load('http://aaaaaaaaaa.com/api/mypoint.asp?mem_id='.$_SESSION[mem_id]);
echo $mypoint;

@}

 

{@
// 나의 포인트 내역

$mypoint_info = curl_load('http://aaaaaaaaaa.com/api/mypoint_list.asp?mem_id='.$_SESSION[mem_id]);
$mypoint_arr = explode('^',$mypoint_info);

print_r($mypoint_arr);

@}

 

즉 DB에 바로 접속하는 방식이 아니라 별도의 파일을 생성해서 애니빌드 솔루션에서 해당 웹페이지의 정보를 가져가는 방식 입니다.

주의 하실점은 해당 파일은 반드시 당사 서버 IP만 접근 가능하도록 꼭 막아두셔야 합니다. 

 

감사합니다.

 

 

게시글 공유 URL복사 cyworld
댓글작성

열기 닫기

댓글작성
top