ubuntu 上の mysql を他のwindows から参照可能にする。
- my.cnf のローカルのみ接続を解除する。
#bind-address = 127.0.0.1
- 接続許可ユーザとマシンのIPを登録、確認。
mysql> grant all privileges on *.* to ユーザ名@外部ホストIP identified by 'パスワード' with grant option; mysql> flush privileges; mysql> select user from mysql.user
- mysql のリスタート
$ sudo /etc/init.d/mysql restart
- ドライバを以下よりダウンロードする。
Download Connector/ODBC - ユーザDSNに接続定義する。
- 以下のコードで接続する。(エラーを起こす型を取り除いた)
Sub test01() Dim con As ADODB.Connection Dim rs As ADODB.Recordset Dim cntString As String Dim sqlStr As String Dim rowNo As Integer Dim colno As Integer Dim item As Variant cntString = "Driver={MySQL ODBC 5.1 DRIVER};" _ & "SERVER=192.168.11.100;" _ & "DATABASE=naoki;" _ & "USER=naoki;" _ & "PASSWORD=naoki;" Set con = New ADODB.Connection On Error GoTo Err con.Open cntString sqlStr = "select col02,col03,col04,col05,col06,col07,col08,col09,col10,col11,col12,col13,col15,col16,col17,col21,col23,col25,col27,col28,col29 from test01" Set rs = con.Execute(sqlStr) Worksheets("Sheet2").Cells.Clear rowNo = 1 colno = 1 Do While rs.EOF = False For Each item In rs.Fields Worksheets("Sheet2").Cells(rowNo, colno).Value = item.Value colno = colno + 1 Next colno = 1 rowNo = rowNo + 1 rs.MoveNext Loop con.Close Set rs = Nothing Set con = Nothing Exit Sub Err: Set rs = Nothing Set con = Nothing MsgBox (Err.Description) End Sub
- データベース設定値と取込み結果の比較
タイプ DB設定値 エクセル取込値 BIT(8) 1 × TINYINT 127 127 BOOL 1 1 SMALLINT 32767 32767 MEDIUMINT 8388607 8388607 INT 2147483647 2147483647 BIGINT 9223372036854775807 9.22337E+18 FLOAT 3.402823466E+38 3.40282E+38 DOUBLE 1.7976931348623157E+308 1.7977E+308 DECIMAL 1 1 DATE '9999-12-31' 9999/12/31 DATETIME '9999-12-3123:59:59' 9999/12/3123:59 TIMESTAMP '2037-12-3123:59:59' 2037/12/3123:59 TIME '838:59:59' × YEAR 2155 2155 CHAR 'a' a VARCHAR(255) 'ab1' ab1 BINARY(255),@ 'ab2' × VARBINARY(255) 'ab3' × TINYBLOB 'ab4' × TINYTEXT 'ab5' ab5 BLOB(255) 'ab6' × TEXT(255) 'ab7' ab7 MEDIUMBLOB 'ab8' × MEDIUMTEXT 'ab9' ab9 LONGBLOB 'abA' × LONGTEXT 'abB' abB ENUM('a','b','c'), 'c' c SET('e','f','g') 'ef' e,f
0 件のコメント:
コメントを投稿