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을 넣으면 엑셀에서도 로컬 계정을 이용하여 접근할 수 있습니다.

블로그 이미지

ligilo

행복한 하루 되세요~

,