JAVA에서는 오라클을 연결할때 JDBC를 사용해서 쉽게 쓰는데 오라클은 그렇게 편하게 되지가 않았다. 다른 방법이 또 있는지 모르겠지만.... 여기저기 찾아보니 이방법은 OLEDB를 사용한 방법이라고 한다.
일단 ASP가 있는 곳에서 오라클을 연결하려면 오라클 Client가 깔려있어야 한다. 오라클 클라이언트를 설치하고
C:\oracle\ora92\network\admin\tnsnames.ora파일을 열어서 별칭을 써넣어준다. (경로는 오라클설치경로에 따라 다를수 있다.)
OUTSIDER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HostName)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = OracleSID)
)
)
오라클 연결에 사용할 설정을 OUTSIDER라는 별칭으로 만들어 낸 것이다. 여러개 만들어서 추가해도 상관없고 ASP측에서는 OUTSIDER라는 별칭이름을 사용한다.
4번줄의 HostName에는 오라클이 있는 컴퓨터의 아이피나 컴퓨터이름이다. 8번줄의 OracleSID는 오라클에서 설정된 SID를 사용하면 된다.
이제 ASP에서 디비연결을 하면 된다.
set con = server.CreateObject("ADODB.CONNECTION")
Con.Open "Provider=msdaora.1;Data Source=OUTSIDER;User ID=아이디;Password=비번;Persist Security Info=True;"
기존에 ASP에서 MS-SQL을 연결하는 것과 크게 다르지 않다. Provider는 msdaora를 사용하고 Data Souce에 TNS에서 서정한 별칭을 사용하고 아이디와 비번을 써주면 된다.
혹 이렇게 해도 오라클 연결에 문제가 생긴다면 다음 문서를 보고 확인해 보자
HOWTO: ASP와 Oracle 데이터베이스 사이의 연결 문제를 해결하는 방법
나도 몇시간동안 못하다가 10번에서 IUSR을 오라클폴더에 권한설정을 해주고 해결했다.
기본으로 오라클 클라이언트 깔려있는 서버에
oracle폴더 찾아 들어가서 ora버전숫자 폴더에
IWAM_*****(IIS시작계정)에 대해서 권한도 줘야 되는것으로 알고 있지요.
아~ 그런가요? 따로 IWAM_에 권한을 줬던 기억은 없었는데 기본으로 권한을 먹고 들어갔던건지도 모르겠군요 (너무 오래되서 기억이 가물가물해요 ㅎ)