'mssql'에 해당되는 글 2건
2008. 10. 30. 11:09
프로젝트 때문에 Linux에서 MS-SQL을 접속할 일이 생겼다. 윈도우 같은 경우는 OLEDB를 사용하거나 하면 쉽게 접속을 할 수 있지만, Linux같은 경우에는 OLEDB를 사용하기 힘들어 부득이하게 ODBC를 사용해야 했다. 혹시 저와 같이 Linux에서 MS-SQL을 ODBC를 사용해 연결해야 하는 분들과 내 머릿속에있는 지우개때문에 정리 차원에서 어떻게 사용하고 설정하는지 살펴보자.
우선 odbc를 설정하기 위해서는 unixODBC, freeTDS등의 패키지가 필요하다, 해당 패키지 설치는 구글링등을 통해 알아보면 쉽게 설치 하실 수 있을 것이다. 저같은 경우는 Fedora 8에서 yum을 통해서 설치했다.
모든 설치가 끝났으면, 아래와 같은 순서로 설정을 하고 연결 테스트를 진행하면 된다.
1. odbcinst.ini
/etc/odbcinst.ini 파일에 아래 내용을 추가하자 :: 추가 내용은 freeTDS Driver를 사용한다는 것이다.
2. odbc.ini
/etc/odbc.ini 파일에 아래 내용을 추가하자 :: 추가 내용은 FreeTDS Drvier를 통해 mssql에 접속하기 위해 필요한 내용이다.
위와 같이 모든 설정이 되었으며, 실재로 접속이 되는지 Test를 해보면 된다. 테스트는 isql을 통해 콘솔상에서 직접 접속을 시도해 보면 된다.
별 애러 없이 연결이 된다면, 성공적으로 ODBC를 설정한 것이다. 만약 에러가 발생한다면 구글을 통해 에러내용을 검색해 보면 될것이다. :: 저는 에러가 없어서 어떤 내용의 에러가 발생했는지를 모르기 때문에 ..ㅋㅋ
우선 odbc를 설정하기 위해서는 unixODBC, freeTDS등의 패키지가 필요하다, 해당 패키지 설치는 구글링등을 통해 알아보면 쉽게 설치 하실 수 있을 것이다. 저같은 경우는 Fedora 8에서 yum을 통해서 설치했다.
모든 설치가 끝났으면, 아래와 같은 순서로 설정을 하고 연결 테스트를 진행하면 된다.
:: 관련 내용 ::
unixODBC - http://www.unixodbc.org/
freeTDS - http://www.freetds.org/
unixodbc 콘솔상에서 설정방법
unixODBC - http://www.unixodbc.org/
freeTDS - http://www.freetds.org/
unixodbc 콘솔상에서 설정방법
1. odbcinst.ini
/etc/odbcinst.ini 파일에 아래 내용을 추가하자 :: 추가 내용은 freeTDS Driver를 사용한다는 것이다.
# FreeTDS
[FreeTDS]
Description = freeTDS Driver
Driver = /usr/lib/libtdsodbc.so.0
위 내용에서 Drvier 부분은 자신이 설치한 패키지를 바탕으로 경로와 라이브러리 파일명을 설정해 주면 된다.[FreeTDS]
Description = freeTDS Driver
Driver = /usr/lib/libtdsodbc.so.0
2. odbc.ini
/etc/odbc.ini 파일에 아래 내용을 추가하자 :: 추가 내용은 FreeTDS Drvier를 통해 mssql에 접속하기 위해 필요한 내용이다.
[MSSQL_VINK]
Driver = FreeTDS
Description = ....
Server = host ip or server name
Port = mssql port
Database = database name
첫번째 라인은 odbc DSN 이름이며, Drvier는 odbsinst.ini에 설정한 Drvier 이름이다. 이외의 아래 내용은 해당하는 내용으로 설정해 주면 된다.Driver = FreeTDS
Description = ....
Server = host ip or server name
Port = mssql port
Database = database name
위와 같이 모든 설정이 되었으며, 실재로 접속이 되는지 Test를 해보면 된다. 테스트는 isql을 통해 콘솔상에서 직접 접속을 시도해 보면 된다.
#isql [DSN name] [username] [password]
별 애러 없이 연결이 된다면, 성공적으로 ODBC를 설정한 것이다. 만약 에러가 발생한다면 구글을 통해 에러내용을 검색해 보면 될것이다. :: 저는 에러가 없어서 어떤 내용의 에러가 발생했는지를 모르기 때문에 ..ㅋㅋ
:: 그럼 이 글을 읽는 모든 분들깨 오늘 하루 즐겁고 행복만 가득하기를...^^* ::
'ººº::Development™:: > ::Database™::' 카테고리의 다른 글
[MySql] LOAD DATA INFILE get error 13 (HY000) (0) | 2010.02.09 |
---|---|
[SQL] Sql-like 구문 (0) | 2009.11.11 |
[ER-Win] ERWin에서 MS-SQL 연결하기 (10) | 2008.10.08 |
MySql Error - Client does not support authentication protocol requested by Server (0) | 2007.06.26 |
MySQL Connection Error (0) | 2007.05.28 |
2008. 10. 8. 16:17
항상 연결할 때 마다 잘 안되는 ER-Win에서 mssql연결하기!
오늘도 역시 올 초에 삽질했던 작업을 또다시 했다. 왜 연결이 안되지? 아 dll, 어라 왜 안되지..? 아 이 메뉴에서 연결은 안되고 저쪽 메뉴에서 했지?
항상 생각하고 또 생각해도 사람의 기억력은 한계가 분명이 존재하는거 같다. 그래서 이렇게 나와 같은 실수, 혹은 나와 같은 고민을 하시는 분들에게 작은 정보를 공유합니다.
:: 첫번째 ::
우선 필요한 파일이 존재한다. 바로 DLL파일인데 이 파일이 머에 필요한지는 모르겠지만 제네지스 게시판을 통해 알아본 결과 "MSSQL 2005의 경우 기본적으로 네트워크 DB연결에 사용되는 DLL파일이 설치되지 않습니다." 며, ERWin의 문제가 아니며, 해결 방법은 바로 ntwdblib.dll 파일을 C:\Windows\System32 폴더에 붙여 넣으면 그냥 된다 라는 답변을 찾았다.
:: 두번째 ::
첫번째로 했는데 연결이 안되면, 연결하고자 하는 데이터베이스에 m7License라는 테이블을 아래와 같은 컬럼 형식으로 생성한다.
위와 같이 생성 한 후, SerialNumber에 자신의 ER-Win 시리얼 넘버를 넣어준다. 이후 LicenseCode에는 1이라는 값을 Insert해준다. 이유는 잘 모르겠다( 구글링의 결과 이걸 넣어주라는 건 찾았는데 이유는 몬찾았다. 혹시 아시는 분 알려주세요 )
:: 세번째 ::
위 두가지 방법으로도 연결을 못시키셨다면 연결 방법을 바꾸는 방법밖에 없을 것이다. 위의 두 방식은 Service -> Connection을 선택해서 연결을 하고자 할 때라면, 이번 방법은 Tool -> Reverse Enginer을 선택해서 연결을 하는 방법이다.
방법은 그냥 메뉴 선택하고 Model type 선택해서 다음 다음 누르고 연결 계정 입력하고 Conneciton해주면 된다. 만약 이 방법이 안될 경우 위 두가지 방식을 선 진행 후 연결하면 될 것이다.
위와 같이 연결하면 해당하는 데이터베이스의 모든 테이블을 로드 할 수 있다. 이렇게 로드 후 해당하는 데이터베이스 스키마 작업을 하면 된다.
많이 부족한 자료지만 도움이 되시는 분들이 계셨으면 하네요..
오늘도 역시 올 초에 삽질했던 작업을 또다시 했다. 왜 연결이 안되지? 아 dll, 어라 왜 안되지..? 아 이 메뉴에서 연결은 안되고 저쪽 메뉴에서 했지?
항상 생각하고 또 생각해도 사람의 기억력은 한계가 분명이 존재하는거 같다. 그래서 이렇게 나와 같은 실수, 혹은 나와 같은 고민을 하시는 분들에게 작은 정보를 공유합니다.
:: 첫번째 ::
우선 필요한 파일이 존재한다. 바로 DLL파일인데 이 파일이 머에 필요한지는 모르겠지만 제네지스 게시판을 통해 알아본 결과 "MSSQL 2005의 경우 기본적으로 네트워크 DB연결에 사용되는 DLL파일이 설치되지 않습니다." 며, ERWin의 문제가 아니며, 해결 방법은 바로 ntwdblib.dll 파일을 C:\Windows\System32 폴더에 붙여 넣으면 그냥 된다 라는 답변을 찾았다.
:: 두번째 ::
첫번째로 했는데 연결이 안되면, 연결하고자 하는 데이터베이스에 m7License라는 테이블을 아래와 같은 컬럼 형식으로 생성한다.
SerialNumber nchar( 255 )
LicenseCode nchar( 255 )
LicenseCode nchar( 255 )
:: 세번째 ::
위 두가지 방법으로도 연결을 못시키셨다면 연결 방법을 바꾸는 방법밖에 없을 것이다. 위의 두 방식은 Service -> Connection을 선택해서 연결을 하고자 할 때라면, 이번 방법은 Tool -> Reverse Enginer을 선택해서 연결을 하는 방법이다.
방법은 그냥 메뉴 선택하고 Model type 선택해서 다음 다음 누르고 연결 계정 입력하고 Conneciton해주면 된다. 만약 이 방법이 안될 경우 위 두가지 방식을 선 진행 후 연결하면 될 것이다.
위와 같이 연결하면 해당하는 데이터베이스의 모든 테이블을 로드 할 수 있다. 이렇게 로드 후 해당하는 데이터베이스 스키마 작업을 하면 된다.
많이 부족한 자료지만 도움이 되시는 분들이 계셨으면 하네요..
:: 그럼 이 글을 읽는 모든 분들께 오늘 하루 즐겁고 행복만이 가득한 하루 되시길!!^_^ ::
'ººº::Development™:: > ::Database™::' 카테고리의 다른 글
[SQL] Sql-like 구문 (0) | 2009.11.11 |
---|---|
[ODBC] Linux에서 MS-SQL 접속하기 (0) | 2008.10.30 |
MySql Error - Client does not support authentication protocol requested by Server (0) | 2007.06.26 |
MySQL Connection Error (0) | 2007.05.28 |
Linux서버에 오라클10g 설치하기 (0) | 2007.03.22 |