파워빌더에서 Tnsnames.ora 없이 오라클에 접속하기
Tnsnames.ora 파일의 코드가 다음과 같을 경우
TESTDB_local =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MyServer)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDB)
)
)
파워빌더에서 오라클 접속하는 스크립트를 다음과 같이 작성합니다.
오라클 10g로 예를 들면,
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogId = 아이디
SQLCA.LogPass =
비밀번호
SQLCA.ServerName = TESTDB_local
SQLCA.AutoCommit = False
Connect;
이렇게 하면 배포할 때도 Tnsnames.ora 파일을 항상 포함시켜야 합니다.
지금까지는 오라클 네트 서비스 이름인 TESTDB_local 을 사용했지만,
오라클 네트 서비스 이름 대신 위에서 파란색 코드
부분을 써도 됩니다. 그럼 다음과 같겠네요.
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogId = 아이디
SQLCA.LogPass =
비밀번호
SQLCA.ServerName = "(DESCRIPTION =" + &
"(ADDRESS_LIST =" + &
"(ADDRESS = (PROTOCOL
= TCP)(HOST = MyServer)(PORT = 1521))" + &
")" +
&
"(CONNECT_DATA =" + &
"(SERVICE_NAME
= TESTDB)" + &
")" + &
")"
SQLCA.AutoCommit = False
이렇게 하면 배포할 때도 Tnsnames.ora 파일은 필요가 없습니다.
TESTDB_local =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MyServer)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDB)
)
)
파워빌더에서 오라클 접속하는 스크립트를 다음과 같이 작성합니다.
오라클 10g로 예를 들면,
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogId = 아이디
SQLCA.LogPass =
비밀번호
SQLCA.ServerName = TESTDB_local
SQLCA.AutoCommit = False
Connect;
이렇게 하면 배포할 때도 Tnsnames.ora 파일을 항상 포함시켜야 합니다.
지금까지는 오라클 네트 서비스 이름인 TESTDB_local 을 사용했지만,
오라클 네트 서비스 이름 대신 위에서 파란색 코드
부분을 써도 됩니다. 그럼 다음과 같겠네요.
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogId = 아이디
SQLCA.LogPass =
비밀번호
SQLCA.ServerName = "(DESCRIPTION =" + &
"(ADDRESS_LIST =" + &
"(ADDRESS = (PROTOCOL
= TCP)(HOST = MyServer)(PORT = 1521))" + &
")" +
&
"(CONNECT_DATA =" + &
"(SERVICE_NAME
= TESTDB)" + &
")" + &
")"
SQLCA.AutoCommit = False
이렇게 하면 배포할 때도 Tnsnames.ora 파일은 필요가 없습니다.