1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | Sub conenctDB() Dim conn As ADODB.Connection ' DB 연결을 위한 변수 Dim dbRecset As ADODB.Recordset ' DB Record 저장을 위한 변수 Dim iRow As Long ' Record 행의 갯수 저장을 위한 변수 Dim iColumn As Long ' Record 열의 갯수 저장을 위한 변수 Dim sSQL As String ' SQL문을 저장하기 위한 변수 Set conn = New ADODB.Connection ' ODBC 객체생성 ' -------------------------------------------------------------- ' Oracle 접속 ' Server = Server 이름 ' Uid = 아이디 ' Pwd = 패스워드 ' -------------------------------------------------------------- conn.ConnectionString = "Driver={Microsoft ODBC for Oracle};" & _ "Server=서버이름;" & _ "Uid=아이디;" & _ "Pwd=패스워드;" conn.Open ' ============================================================ ' 쿼리문을 입력하고 레코드 값을 저장 ' ============================================================ sSQL = "select OWNER, TABLE_NAME, COLUMN_NAME, " & _ "REPLACE(REPLACE(COMMENTS,CHR(10),CHR(1)),CHR(13),CHR(2)) AS COMMANT from all_col_comments " & _ "where table_name LIKE 'TECF%'" & _ " order by 2" Set dbRecset = New ADODB.Recordset dbRecset.CursorLocation = adUseClient ' ============================================================= ' 커서 이동방법과 레코드를 읽어만 올수 있도록 설정 ' ============================================================= dbRecset.Open Source:=sSQL, ActiveConnection:=conn, CursorType:=adOpenForwardOnly, _ LockType:=adLockReadOnly, Options:=adCmdText dbRecset.MoveFirst ' 레코드의 처음으로 이동 ' ============================================================= ' DB에서 쿼리문에 의한 값들을 엑셀 시트에 저장 ' ============================================================= For iRow = 1 To dbRecset.RecordCount For iColumn = 1 To dbRecset.Fields.Count Worksheets(1).Cells(iRow + 5, iColumn + 1).Value = dbRecset.Fields(iColumn - 1).Value Next iColumn dbRecset.MoveNext Next iRow ' ============================================================== ' DB연결을 종료하고 객체 저장변수와 레코드 저장변수를 초기화 ' ============================================================== dbRecset.Close conn.Close Set dbRecset = Nothing Set conn = Nothing End Sub |
'VBA' 카테고리의 다른 글
VBA MySQL SELECT문 (0) | 2012.10.09 |
---|---|
VBA MySQL 접속 (0) | 2012.10.09 |
VBA OnTime (0) | 2012.10.05 |