Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ต่อไฟล์ฐานข้อมูล access .mdb ด้วย vb.net 2010 ขึ้น error เกี่ยวกับ connection string ครับ ขอความช่วยเหลือครับ



 

ต่อไฟล์ฐานข้อมูล access .mdb ด้วย vb.net 2010 ขึ้น error เกี่ยวกับ connection string ครับ ขอความช่วยเหลือครับ

 



Topic : 103718



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์




Source ตามนี้ครับ

Code (VB.NET)

Imports System.Data.SqlClient
Imports System.Data
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim con As New SqlConnection
        con = New SqlConnection("Provider=Microsoft.ACE.OLEDB.15.0;Data Source=C:\Users\Admin\Dropbox\Database\ComDB.mdb;Persist Security Info=False")
        Dim Sql As String = "select * from product"
        Dim DA As New SqlDataAdapter(Sql, con)
        Dim DS As New DataSet
        Dim DT As New DataTable
    End Sub
End Class



Error ที่ขึ้นคือ

Keyword not supported: 'provider'.
แจ้งที่บรรทัด

con = New SqlConnection("Provider=Microsoft.ACE.OLEDB.15.0;Data Source=C:\Users\Admin\Dropbox\Database\ComDB.mdb;Persist Security Info=False")

ตัวอย่างในหนังสือมีแต่ SQL Server แต่ฐานข้อมูลมันวิ่งอยู่ใน Access ครับCode (VB.NET)



Tag : .NET, Ms Access, Win (Windows App), VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-12-17 16:19:49 By : satanpig View : 4588 Reply : 10
 

 

No. 1



โพสกระทู้ ( 697 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตรง Provider ลองเปลี่ยนเป็น

Microsoft.ACE.OLEDB.12.0

ถ้ายังไม่ได้อีกก็เป็น

Microsoft.Jet.OLEDB.4.0

Provider จะเปลี่ยนไปตาม Version ของ Access ครับ








ประวัติการแก้ไข
2013-12-17 16:56:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 16:56:17 By : 01000010
 


 

No. 2



โพสกระทู้ ( 697 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : 01000010 เมื่อวันที่ 2013-12-17 16:56:17
รายละเอียดของการตอบ ::
แก้ไขนะครับ พอดีผมลืมดู Class ที่คุณประกาศ ซึ่งต้องใช้ OleDbConnection และ เนมสเปซ ต้องใช้ System.Data.OleDb นะครับ

ไม่ใช่ SqlConnection ซึ่งจะใช้กับ MySQL หรือ SQLServer นะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 16:59:54 By : 01000010
 

 

No. 3



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณคุณ 0100 0010 ครับ ผ่านตรงนั้นมาได้แล้วเจอปัญหาต่อไปดังนี้ครับ

ผมอยากได้ข้อมูลที่ดึงมาใส่ใน dataset แล้ว ผิดพลาดครับ น่าจะเกิดจากที่ผมไม่เคยเขียนบน Oledb เลย เลยสับสนครับ
Code (VB.NET)
Imports System.Data
Imports System.Data.OleDb

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim con As OleDbConnection
        con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.15.0;Data Source=C:\Users\Admin\Dropbox\Database\ComDB.mdb;Persist Security Info=False")
        Dim Sql As String = "select * from product"
        Dim DA As New OleDbDataAdapter(Sql, con)
        Dim DS As New DataSet
        DA.Fill(DS)
        MsgBox(DS.Tables(0).Rows(0).Item(1))
    End Sub
End Class


Error ดังนี้ครับ

The 'Microsoft.ACE.OLEDB.15.0' provider is not registered on the local machine.

ไม่ทราบว่าแก้ไขอย่างไร หรือผมทำอะไรผิดขั้นตอนครับ

ขอคำแนะนำว่าควรศึกษาตรงไหนดีเพราะหนังสือที่อ่านอยู่อธิบายเพียงการเขียนด้วย SqlClient เพียงอย่างเดียวครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 20:20:00 By : satanpig
 


 

No. 4



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : satanpig เมื่อวันที่ 2013-12-17 20:20:00
รายละเอียดของการตอบ ::
โอเคเคลียร์แล้วครับ ต้องใช้ Provider เป็น Microsoft.Jet.OLEDB.4.0 ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 20:22:50 By : satanpig
 


 

No. 5



โพสกระทู้ ( 697 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 4 เขียนโดย : satanpig เมื่อวันที่ 2013-12-17 20:22:50
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-17 21:40:55 By : 01000010
 


 

No. 6



โพสกระทู้ ( 147 )
บทความ ( 0 )



สถานะออฟไลน์


con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\\ComDB.mdb;Persist Security Info=False")


อ้าวเท่านี้พอ ไม่ต้อง ไปจัดยาวขนาดนั้น

..\\ComDB.mdb ก้อพอครับ เท่านี้ถ้าจำไม่ผิดนะคือ จากไดร์ ใด ๆ ที่มีชื่อ ComDB.mdb ถ้าผิดขออภัย

OLEDB.12.0 ก้อได้ครับ มันซัฟพอล กับออฟฟิส 2007 ส่วน OLEDB.4.0 ไม่แน่จัยจะว่ามันใช้กับ 2003 หรือป่าว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-18 10:32:35 By : angelrings0
 


 

No. 7

Guest


จำผิดแล้วแหละ แต่ถ้าขออภัยก็ให้อภัย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-18 10:53:48 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 8



โพสกระทู้ ( 147 )
บทความ ( 0 )



สถานะออฟไลน์


ทำมัยต้องมาใช้เรียกข้อมูล แบบนี้ทุกอันใน Table ทุกอันเลยเหรอ เอาไปเขียนไว้ใน Class แล้ว
ไปเรียกใช้ไม่ง่ายกว่าเหรอ อันนี้มันยังไม่เลิกใช่กันอีกเหรอ แทบจำไม่ได้แล้วอะ

เอาตังอย่างติดต่อแบบเขียน ใน class ไปดีกว่าง่ายกว่าเยอะ

ตัวอย่างนี้ อันนี้ไปสร้าง Class ขึ้นมาแล้วเขียนเพิ่ม

ส่วนที่ 1
Imports MySql.Data

Imports MySql.Data
Imports MySql.Data.MySqlClient
Imports System.Text

Public Class CLASS_CALLDATA <--------------- ชื่อคลาส
Public Con_CallData As MySqlConnection
Public Comm_CallData As MySqlCommand

Public Shared Function Con()
Dim ConnectSQL As New MySqlConnection
Dim Cmd As New MySqlCommand
Try
ConnectSQL.ConnectionString = "ชื่อ Database ของเรา;Data Source=Ip Address ของเครื่องเรา หรือ เครื่อง Server ที่จำทำการติดต่อ;User Id=ชื่อที่เราใช้ติดต่อกับฐานข้อมูล;Password=รหัสที่ใช้ติดต่อฐานข้อมูล;Connect Timeout=150;charset=utf8;"
Catch ex As Exception
MessageBox.Show("Error while connecting to SQL Server." & ex.Message)
Finally
ConnectSQL.Close()
End Try
Return ConnectSQL.ConnectionString
End Function
End Class




ส่วนที่ 2
Dim Call_Data As CLASS_CALLDATA ' เรียกคลาสมาใช้งาน <------------ เรียกชื่อ Class มาใช้

--------------------------------------------

Public Sub Open_Data() <--------- ตัวเรียกใช้งาน CLASS_CALLDATA
Dim strConn As String = CLASS_CALLDATA.Con
Con_CallData = New MySqlConnection
With Con_CallData
If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With
' MessageBox.Show(CLASS_CALLDATA.Con) ' ทดสอบ การเชื่อมต่อ Database
End Sub


ที่นี้ง่ายเลย ทำหน้ามาเท่าไหร่ก้อเอาแค่ส่วน 2 ไปใส่ ก้อเรียกง่าย ๆ เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-18 11:22:01 By : angelrings0
 


 

No. 9



โพสกระทู้ ( 697 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 8 เขียนโดย : angelrings0 เมื่อวันที่ 2013-12-18 11:22:01
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-18 13:36:38 By : 01000010
 


 

No. 10



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณ angelrings0 และคุณ 0100 0010 ครับ

ตอนนี้ผมมีแค่พื้นฐานการเขียนแบบเก่า สมัย VB6 โน่นเลย เลยยังไม่คล่องกับการเขียนแบบ Object เท่าไหร่ครับ

พยายามจะจัดงานที่ทำแบบซ้ำๆ ให้กลายมาเป็นก้อนๆซึ่งเดิมเรียกว่า function หรือ module สมัยนี้มันกลายเป็นคำว่า Object ครับ

แต่ดูแล้ว Object มันยืดหยุ่นมากกว่าเยอะแยะเลย คงต้องค่อยๆศึกษาไปครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-19 09:32:08 By : satanpig
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต่อไฟล์ฐานข้อมูล access .mdb ด้วย vb.net 2010 ขึ้น error เกี่ยวกับ connection string ครับ ขอความช่วยเหลือครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่