2009-04-08

ใช้ ADO ใน excel ทำการเชื่อมต่อ SQL server

พอดีตอนนี้ที่ทำงานได้เครื่องใหม่แล้ว เห็น office 2003 OEM มาลองดูว่าจะทำอะไรได้มั่ง เลยกลับมารื้อฟื้นเรื่อง macro ใหม่ ( VBA ) โดยคราวนี้ตั้งความสามารถที่จะลองใช้คือ การเอา record ใน excel ไปทำการเก็บไว้ในฐานข้อมูล ตอนนี้ที่ลองเขียนดู ( แต่ยังไม่เสร็จ ไป 80% ) โดยเชื่อมกับ SQL 2005 Express ใช้ Native sqlclient ในการเชื่อมต่อ อนาคตก็ปรับไปเรื่อย ๆ ตามใจอยาก
TODO
*ข้อมูลที่ได้จาก excel ใช้ ASP.NET เอามาประมวลผลอีกที*ทดลองเขียน AJAX กับ ASP*Import ตารางเวลาจาก LotusNote เอามา ทดลองใช้งาน
ที่เห็นนี้ เป็นตัวอย่าง Marcro procedure สำหรับทดสอบการเชื่อมกับ ดาต้าเบส SQL server 2005 โดยการใช้ sqlnative client ( Provider=SQLNCLI.1 )และมีการใช้ Error ออปเจ็กต์ เป็นตัวตรวจสอบข้อผิดพลาดที่เกิดขึ้น เพื่อใช้ในการ debug ภายหลัง จริงๆ จะไปหาเพิ่มเติมจากใน เอกสาร MSDN ของ ไมโครซอฟต์ก็ได้ หรือ หากไปดาวน์โหลดเอาชุด MDAC SDK มาก็มีเอกสารให้ ไม่ว่ากัน
รายละเอียด Connection String
Provider = อนุมานว่า ไดร์เวอร์ที่ใช้สำหรับการเชื่อมต่อ Integrated Security = รูปแบบความปลอดภัยที่ใช้ในการเชื่อมต่อ Data Source = Instance ฐานข้อมูล ([ serverName/instance ]) Initial Catalog = ชื่อดาต้าเบส

Sub test_ado_con()
Dim con As New ADODB.ConnectionDim con_err As ADODB.Error
Dim err_des As String Dim err_num As String
Set con = New ADODB.Connection
' Set Trap Error
On Error GoTo DisplayErr
' Connect use sql native client
con.ConnectionString = "Provider=SQLNCLI.1 ;Integrated Security = SSPI ;Data Source=udomsak\sqlexpress;Initial Catalog=ClassRoom "
' Open connectin
con.Open
'Trap Error use for debug:
DisplayErr:

For Each con_err In con.Errors
err_des = con_err.Descriptionerr_num = Hex(con_err.Number)
Next
If err_des = "" Then
MsgBox "Connection sucess!"
Else
MsgBox err_des & err_num
End If

No comments: