DB를 VBA를 이용하여 연결할 때
연결방법은 간단합니다.
DB마다 사용법이 약간씩은 다르지만요...
커넥션 스트링 연결해주신다고 보시면 되구요
다음을 참조하시면 될 것 같습니다.
Public Function ConnectDB(ByRef AdoCn AS ADODB.Connection) As Boolean
AdoCn.CursorLocation = adUseClient
'MySQL
AdoCn.ConnectionString = "DRIVER=MySQL ODBC 5.1 Driver; Server=127.0.0.1; Port=1111; UID=admin; PWD=password; DATABASE=testdb;"
'Postgresql
AdoCn.ConnectionString = "DRIVER={PostgreSQL Unicode(x64)}; Server=127.0.0.1; Port=1111; uid=admin; pwd=password; DATABASE=testdb;"
'MSSQL
AdoCn.ConnectionString = "DRIVER={SQL Native Client}; Server=127.0.0.1; Port=1111; uid=admin; pwd=password; DATABASE=testdb;"
AdoCn.Open
End Function
이렇게 처리하시면 되는데요
연결 여부를 확인하려면
AdoCn.Open 뒤에
Adocn.State = adStateOpen으로 확인하시면 됩니다.
If AdoCn.State = adStateOpen Then
msgbox("열렸음")
else
msgbox("열리지 않았음")
End if
혹시 MSSQL을 로컬계정을 이용하여 접근하실 분들은
ConnectionString을 다음과 같이 변경해주시면 됩니다.
AdoCn.ConnectionString = "DRIVER={SQL Native Client}; Server=127.0.0.1; Port=1111; DATABASE=testdb; Trusted_Connection=yes"
ID, PW 대신 Trusted_Connection을 넣으면 엑셀에서도 로컬 계정을 이용하여 접근할 수 있습니다.
'개발자로 살기' 카테고리의 다른 글
[북리뷰] 혼자 공부하는 파이썬 (0) | 2019.07.14 |
---|---|
[nodejs] mysql sequelize를 이용한 migrate 에러 해결 (0) | 2018.01.04 |
postgresql 문자열 나누기 (0) | 2016.08.19 |
PostgreSQL 날짜 변환하기 (2) | 2016.01.08 |
[MS-SQL] 특정 컬럼명이 있는 테이블 검색하기 (0) | 2015.09.25 |