ODAC 과 오라클 인스턴트 클라이언트 사용
// 윈도우즈 폼 개발
// 개발 툴 : visual studio 2008
// Odac : 11g
// 오라클 인스턴트 클라이언트 : 11g (프로그램이 사용될 PC에 오라클 클라이언트를 설치없이 사용을 위해)
// 사용법 : 오라클 사이트에서 Odac 11g 를 받아서 설치한다.
// 11g 를 사용하는 이유는 visual studio 2008 지원이라서 ^^
// 잠깐 테스트 해보았는데, 하위 버전도 되는것 같았지만 개발툴을 지원하는것 사용함. ㅎㅎ;
// 오라클 사이트 참고
// 1. Odac 설치 되면 visual studio 2008 의 참조추가 에서 Oracle.DataAccess 추가 한다.
// 2. using 사용.
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
// 3. 접속 방법
public void DBConnect()
{
// 연결 문자열
// 사용하는 오라클 DB 의 접속 IP, SID 입력
string connString = @"
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = 10.10.10.1)(Port = 1521))
)
(CONNECT_DATA =
(SID = test)
)
)";
private OracleConnection connORACON = new OracleConnection("Data Source=" + connString + ";User ID=abc;Password=abc123;");
connORACON.Open();
}
// 배포 혹은 게시 할경우 (빌드시에도 Debug 디렉토리에 다음 dll 추가)
// 오라클 클라이언트 인스턴트 dll 도 같은 경로에 위치시켜준다.
// msvcp71.dll
// msvcr71.dll
// oci.dll
// ociw32.dll
// Oracle.DataAccess.resources.dll
// orannzsbb11.dll
// oraociei11.dll (100메가 ㅡ.ㅡ;;)
// OraOps11.dll
// OraOps11w.dll
// 해당 프로그램을 사용하려는 컴퓨터에 만약 오라클 클라이언트 가 설치되어 있다면
// NLS_LANG 관련 에러가 발생될수 있다.
// 필요시 아래 소스를 사용
using Microsoft.Win32;
private void setOraNLS_LANG()
{
try
{
RegistryKey OurKey = Registry.LocalMachine; // LocalMachine
OurKey = OurKey.OpenSubKey("Software", true); // Software
OurKey = OurKey.OpenSubKey("ORACLE", true); // Oracle
if (OurKey.GetValue("NLS_LANG") != null)
{
OurKey.SetValue("NLS_LANG", "KOREAN_KOREA.KO16MSWIN949");
}
}
catch
{
}
}