개발을 할때, 구글링이 없으면 진행이 안될만큼.. 구글링의 의존도는 높은데..
티베로 디비는 자료가 많이 없는 것 같아 개발이 힘듭니다.
ODBC를 드라이버를 설치해서 접속하는 방법도 있던데, 그 방법의 문제는 클라이언트 PC에 모두 ODBC를 설정해줘야 한다는 아주 불편함이 있습니다.
티베로가 오라클을.. 본떠서(?) 만들었기 때문에, 오라클 DB와 connection도 거의 똑같습니다.
저희 팀장님 말씀으론 오라클이 2018년 쯤부터 Oracle.DataAccess.dll 을 제공했다고, 그전엔 OLE 드라이버로 커넥션 했다고 합니다..
(제가 찾아봤을 땐, 최소한 2012년~13년 부터는 해당 dll을 제공했습니다.)
클라이언트 pc 마다 모두 OLE드라이버 설치를 해줬어야 하니.. 엄청 번거로웠을꺼에요.
업계 특성상 클라이언트 pc가 정해져 있기 때문에, 가능했었을 겁니다.
중간에서 db 커넥션을 담당하는 서버를 개발하고, 그 서버를 클라이언트를 연결하는 구조로 갔어야.. 번거로움이 덜했을겁니다.. 머리가 안좋으면 몸이 고생한다는 말이.. 괜히 나온게 아닙니다.
각설하고, 클라이언트에서 odbc 설정없이, dll 만으로 티베로 DB 연결하는 방법을 소개하겠습니다.
Tibero.DataAccess.dll 파일 찾기
Oracle.DataAccess.dll -> Tibero.DataAccess.dll
앞 단어만 바뀌었습니다.
Tibero.DataAccess.dll 이 파일을 찾는 것도 일이었습니다.
구글링에서는 Tibero.DataAccess.dll 이 파일의 위치를 정확히 알려준 포스팅은 없더라구요.
결과적으로는 티베로 DB를 설치하셔야 합니다. (데모버전이라도)
아래의 링크에서 다운받고 설치할 수 있습니다. (회원가입이 필요할 거에요)
https://technet.tmaxsoft.com/ko/front/main/main.do
설치하면 아래와 같은 주소에서 파일을 찾을 수 있습니다.
C:\TmaxData\tibero6\bin
Visual Studio 비주얼 스튜디오에서 dll 추가
비주얼 스튜디오에서 참조를 추가하는 방법은.. 쉽습니다.
아래와 같이 솔루션탐색기에서 프로젝트 우클릭 > 추가 > 참조
아래와 같이 참조 해주시면 됩니다.
추가된 dll에서 함수 사용하기.
프로시져 많이 사용하시죠?
아래는 Tibero.DataAccess.dll에서 제공하는 함수로 작성한 프로시저 호출 방법입니다.
커넥션 스트링도 찾아보니 자료가 찾기 힘들더라구요. ip, port, DB 명 등 알맞게 변경해서 사용하시면 됩니다.
아래의 코드로 테스트 한번 돌려보시고 사용하셔 보면 되겠습니다.
//Tibero CONNECTION
string strConn = "Data Source=(INSTANCE=(HOST=192.168.1.10)(PORT=8621)(DB_NAME=db_NM));User Id=DB_user;Password= 1234;Enlist=true;Pooling=false;Min Pool Size=1;Max Pool Size=50;Decr Pool Size=1;Incr Pool Size=1;Validate Connection=true;Promotable Transaction=Local";
TiberoConnection conn = new TiberoConnection(strConn);
conn.Open();
TiberoCommand cmd = new TiberoCommand();
TiberoDataAdapter adapter = new TiberoDataAdapter();
DataSet ds = new DataSet();
cmd.CommandText = "프로시져_NAME";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("파라미터_명1", TiberoDbType.Varchar2).Value = "값";
// OUT PARAM
cmd.Parameters.Add("파라미터_명2", TiberoDbType.RefCursor).Direction = ParameterDirection.Output;
cmd.Connection = conn;
adapter = new TiberoDataAdapter(cmd);
adapter.Fill(ds);
DataTable dt = new DataTable();
dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
string tt = dr["테이블 컬럼명"].ToString();
}
conn.Dispose();
conn.Close();
궁금한 점이나, 하다가 안되는 오류가 있으면 댓글 남겨주세요~
긴글 읽어 주셔서 감사합니다.
더 궁금하신 사항은 댓글로 문의해주시면 빠르게 답변드리겠습니다.
'SQL > tibero 티베로 & oracle 오라클' 카테고리의 다른 글
오라클 nvl 여러개 (COALESCE, NVL, NVL2, NULLIF) (0) | 2023.09.25 |
---|---|
오라클/티베로 CASE문 사용법 (0) | 2023.01.18 |
[오라클&티베로] 세션 날짜 형식 오류. Format ends before the entire input string is converted. (0) | 2022.07.07 |
[Tibero/Oracle] 테이블 생성 일자 조회하기 (0) | 2022.06.29 |
티베로(tibero) DB 구조 (0) | 2022.06.28 |
댓글