본문 바로가기
Tech/c#

C# - Postgrelsql 연동

by 트리시스 2020. 1. 14.
반응형

먼저 c#에서 Postgresql를 연동하려면 

npgsql을 설치해야한다. 

참고로 비주얼스튜디오 2013을 기준으로 작성

먼저 설치과정부터..

https://www.nuget.org/packages/Npgsql/

 

Npgsql 4.1.2

Npgsql is the open source .NET data provider for PostgreSQL.

www.nuget.org

위 사이틀 접속해서 버전과 호환성을 충분히 확인하고 맞는 버전을 다운로드 한다. 

회사에서 하다보니까 외부 인터넷이 어려워 

로컬로 다운로드하고 패키지 경로를 지정해서 설치를 했다. 

 

보통 패키지관리자 콘솔에서 cli 명령어를 쳐서 설치를 하지만..

인터넷이 원활하지 않는 곳은 명령어는 먹히지가 않는다..

도구 - 옵션 - 패키지 관리자 - 패키지 소스 여기서

사용 가능한 패키지 소스 부분을 전부 체크 해제를 했고, 

+ 버튼을 눌러서 신규 경로를 지정했다. 

하단에 소스 부분에 c:\ 드라이브쪽에 패키지 폴더를 신규로 생성해서 경로를 지정해주고

위 사이트에서 다운받은 패키지 파일을 미리 저장해뒀다.

Download package 링크로 받아도 된다. 

패키지관리자(Package Manager) 콘솔에서 

install-package npgsql 까지만 타이핑해서 겨우 설치했다.

위 그림 처럼 버전까지 지정해서 아무리 해도 설치가 안되는 것이다. ...

하아...

아무튼 환경까지는 어느정도 맞췄고...

 

이제 코드로 넘어가서..

 

using Npgsql;

using Npgsql.type;

 

위와 같이 선언해줘야 본문에서 사용가능하다.

 

이제 DB연결을 해보자..

string conInfo = "Server=127.0.0.1;port=5432;User Id=postgres;Password=Password;Database=DBName";

string select_sql = "SELECT * FROM \"table_name\" ";

string data1 = "";

NpgsqlConnection conn = new NpgsqlConnection("conInfo");

conn.Open();

Npgsql Command cmd = new NpgsqlCommand();

cmd.Connection = conn;

cmd.CommandText=select_sql;

cmd.CommandType = System.Data.CommandType.Text;

NpgsqlDataReader dr = cmd.ExcuteReader();

 

while(dr.Read())

{

     string data1 =  dr[0].ToString();

}

 

conn.Close();

 

이렇게 해서 간단히 조회하는 것 까지 만들었지만

msql,오라클만 쓰다가 이번에postgresql를 처음 접해보면서

테이블 명 지정해주는게 햇갈렸다.

 

반응형

'Tech > c#' 카테고리의 다른 글

c# - datagridview 마지막 행 없애기  (0) 2020.07.18
C# - datagridview row number(행 넘버)  (0) 2020.07.17
C# UserPrincipal  (0) 2020.06.27
C# - Active directory AccountExpirationDate  (0) 2020.04.06
C# Text Box Changed Event 감지  (0) 2020.03.21

댓글