이 페이지에서
구문
= SQL_CONN ( SQL연결문자열 )
인수구분
형식 설명
SQL연결문자열
필수
String
SQL 연결 문자열입니다.
ADO.NET 연결 문자열을 사용합니다.
마스터 코드
복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요Function SQL_CONN(CONN_STRING As String) As Object
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ SQL_CONN
'▶ SQL 연결 문자열로 OLE DB 연결 후 ADODB 커넥션 개체를 반환합니다.
'▶ 인수 설명
'_____________Connection : SQL OLE DB로 연결할 연결문자열(Connection String)을 입력합니다.
'▶ 사용 예제
'Dim DB As Object
'Set DB = SQL_CONN("Server=database.windows.net,1433;User ID=oppadu;Password=123;")
'###############################################################
Dim DB As Object
Set DB = CreateObject("ADODB.Connection")
If InStr(1, CONN_STRING, "Provider=", vbTextCompare) = 0 Then CONN_STRING = "Provider=SQLOLEDB;" & CONN_STRING
On Error GoTo EH_CONN:
DB.ConnectionTimeout = 3
DB.Open CONN_STRING
If DB.State = 1 Then
Set SQL_CONN = DB
Else
GoTo EH_CONN
End If
Set DB = Nothing
Exit Function
EH_CONN:
MsgBox "서버에 연결할 수 없습니다." & vbNewLine & "인터넷 연결 또는 서버 상태를 확인하세요.", vbInformation
Set DB = Nothing
End
End Function
활용 예제
SQL 서버 연결 테스트 하기
Dim DB As Object
Set DB = SQL_CONN("Server=tcp:azrure-oppadu-test-123.database.windows.net,1433...")
If IsEmpty(DB) Then MsgBox "서버 연결에 실패하였습니다."
안내사항
연결 문자열에 Provider 가 없으면 SQLOLEDB 를 자동으로 붙여 OLE DB 방식으로 연결합니다.
서버에 연결할 수 없을 경우 안내 메시지를 출력한 뒤 실행을 종료합니다.
해당 게시글의 코드는 보조함수로 동작하므로 SQL 구문을 사용하는 것은 불가합니다.
만약 SQL 구문을 VBA 에서 그대로 실행하시려면 ADO 객체를 사용하면 됩니다.
CreateObject("ADODB.Connection") 형태로 변수 할당 후 사용해보세요.
ChatGPT에게 물어보면 필요한 답변을 금방 구하실 수 있을겁니다. 고맙습니다.