개발꿀팁 [.NET Core 3.1] PostgreSQL DB 연동하기(with ActiveReports 14.2)
페이지 정보
작성자 하늘을날자 작성일 2020-11-01 08:15 조회 1,494회 댓글 0건본문
관련링크
안녕하세요? 하늘을 날자입니다.
여러가지 DB를 연동하여 ActiveReports Viewer로 실행하는 테스트를 하고 있습니다.
오늘은 PostgreSQL Server입니다. 호기심도 많고 남보다 빨리 하고 싶은게 많은 사람입니다.^^
지금까지 4종류의 DB를 연동해서 AcitveReports Viewer를 실행해 보았습니다.
'DB연결 방법만 알면 되지 직접 테스트 해 볼 필요가 있나'라고 생각하는 분들도 계실텐데요.(ADO.NET은 다 아니까 방심?)
이런 생각으로 큰 사고가 생긴게 한두번이 아닙니다. 무조건 시스템에 올려서 구동을 시켜봐야 한다고 생각합니다.
AcitveReports라는 리포팅 툴을 만난 이후로 이 제품에 대해 호감을 가지고 있습니다.
초기에 AR 사용하면서 그레이프시티 도움을 참 많이 받았습니다. 다시 한번 감사드립니다.(꾸벅)
다른 리포팅 툴도 거의 다 사용해 보았습니다. 하지만 가성비 좋은 툴은 많지 않죠.
닷넷코어 테스트 하면서 컴포넌트원을 업그레이드 해야 하나 고민이 생겼습니다.
개발 직종은 어려운 직종임에 틀림이 없다고 생각합니다.
끊임없이 변하는 기술에 일일이 학습하고 대응해야 하기 때문일것입니다.
초기에 사업 준비할 때 참으로 많은 데이터베이스를 검토했었습니다.
고객이 어떤 상황인지 모르기에 현존하는 모든 파일과 DB를 다 찾아보고 테스트 해보고자 노력했었던 기억이 납니다.
Text 파일에서부터 Excel 파일, Access DB,SQLite, MySQL,MariaDB,PostgreSQL,Oracle,SQL Server등입니다.
오라클과 MS 시퀄서버 연동은 생략하겠습니다. 너무나 잘 알려져 있기 때문입니다.
지금까지 테스트했던 Access,SQLite,MariaDB, PostgreSQL에 대해 간단히 정리해 보겠습니다.
db name은 insadb로 통일했고요. table name은 usertbl입니다. 사용된 서버는 리눅스 시스템입니다.
※. SQLite 네트워크 공유 폴더 접근시 연결 문자열 사용 예(서버 경로 지정)
sqliteConn = new SQLiteConnection(@"Data Source='//192.168.0.10/myhome/Database3.sqlite';Version=3;New=False;Compress=True");
※. Access DB 또한 공유모드로 동작하니 네트워크 공유 폴더 사용이 가능합니다.(서버 경로 지정)
사용 예) string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\192.168.0.10\myhome\database3.accdb";
[사용 예]
1) 필수 참조 어셈블리: Npgsql.dll
2) 연결 문자열
string connStr = "Server=192.168.0.100;Port=5432;User Id=postgres;Password=********;Database=insadb";
3) ActiveReport_ReportStart() 코드 예제
rpt.DataSource = "";
string connStr = "Server=192.168.0.100;Port=5432;User Id=postgres;Password=********;Database=insadb";
NpgsqlConnection sqlConn = new NpgsqlConnection(connStr);
//sqlConn.Open(); //
NpgsqlCommand cmd = new NpgsqlCommand();
cmd.Connection = sqlConn;
string Sql = "select id,uid,uname from usertbl";
cmd.CommandText = Sql;
if(sqlConn.State == ConnectionState.Closed){
sqlConn.Open(); //
}
dr = cmd.ExecuteReader();
댓글목록
등록된 댓글이 없습니다.