Npgsql (NetPostGreSQL)
- PostgreSQL의 데이터를 제공하는 라이브러리
- .NET Framework로 개발되는 어떤 프로그램이던 PostgreSQL에 접근하는 것을 허용
- 100% 순수 C#으로 개발되었음
- PostgreSQL 9.0 버전부터 공식적으로 지원함
- 최신 버전은 3.1.5(stable)임 (.NET4.5 기준 / .NET4.0은 버전 2.2.7을 사용해야함)
- 라이센스는 PostgreSQL License를 따름 (수정 후 배포 조건이 없고 자유로움)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // AWS RDS 계정을 이용하여 PostgreSQL 연결 public string Connect(AWSCredentials credentials) { var rdsClient = new AmazonRDSClient(credentials, RegionEndpoint.APNortheast2); try { DescribeDBInstancesResponse response = rdsClient.DescribeDBInstances(); if (response.DBInstances.Count > 0) { StringBuilder connStr = new StringBuilder(); connStr.AppendFormat("Server={0};User Id={1};Password=rjsrnreohlm;Database={2};", response.DBInstances[0].Endpoint.Address, response.DBInstances[0].MasterUsername, response.DBInstances[0].DBName); conn = new NpgsqlConnection(connStr.ToString()); conn.Open(); if (conn.State == ConnectionState.Open) conn.Close(); } } catch (Exception) { throw; } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // json을 이용하여 PostgreSQL insert into 쿼리 전송 public int Query(JObject _json) { string dbName = "dbname" int flag = -9999; try { if (conn == null) return -1; if (conn.State != ConnectionState.Open) conn.Open(); using (NpgsqlCommand sql = conn.CreateCommand()) { var baseInfo = _json.ToObject<SimpleData>(); sql.CommandType = CommandType.Text sql.CommandText = "insert into "+ dbName +" (dataname, timestamp)" + " values (@dataname, @timestamp)" sql.Parameters.Add("dataname", NpgsqlDbType.Text).Value = baseInfo.Name sql.Parameters.Add("timestamp", NpgsqlDbType.TimestampTZ).Value = baseInfo.TimeStamp flag = sql.ExecuteNonQuery(); } return flag; } catch (Exception) { throw; } return 0; } | cs |
'컴퓨터 > C#' 카테고리의 다른 글
[VS] 설치 패키지의 바로가기 아이콘 변경 방법 (1) | 2017.01.04 |
---|---|
[VS] VisualStudio C# Interactive 초 간단 사용법 (0) | 2016.11.10 |
[C#/ PostgreSQL] C#에서 Npgsql TimestampTZ 쿼리 (0) | 2016.06.30 |
[.net] jni4net 을 이용하여 c# .net 에서 .jar 파일 사용하기 (0) | 2016.04.26 |
[VS10] 사용 가능한 소스 없음, PDB가 이미지와 일치하지 않습니다. (0) | 2016.02.22 |