我有以下代码使用 VB.NET 连接本地主机数据库和 OLEDB。下面是代码:
Imports System.IO
Imports System.Data
Imports System.Data.OleDb
Module Module1
Public conn As OleDbConnection
Public Sub OpenConnection()
conn = New OleDbConnection()
If conn.State = ConnectionState.Closed Then
Try
conn.ConnectionString = "provider=MySQLProv; Data Source=mydbname; User Id=root; Password=password"
conn.Open()
MsgBox("Connected to DB")
Catch ex As OleDbException
MessageBox.Show("Error Connecting to Database")
conn.Close()
conn.Dispose()
End Try
End If
End Sub
运行时报错“'MySQLProv'提供程序未在本地机器上注册。”出现。我已经安装了 MySQL Connector Net 6.5.7 和 MySQL Connector ODBC 5.3,但是 Visual Studios 说它没有安装。
我也尝试过如下不同的连接字符串,但每个都有错误:
'conn.ConnectionString = "Driver={MySQL};SERVER=localhost;DATABASE=smsengine5;USER=root;PASSWORD=password"
'conn.ConnectionString = "provider=MYSQLOLEDB; Driver={MySQL};SERVER=localhost;DATABASE=mydbname;USER=root;PASSWORD=password"
'conn.ConnectionString = "provider=.NET Framework Data Provider for MySQL;*;Uid=root;Pwd=password;Database=mydbname;"
'conn.ConnectionString = "provider=MySQLProv; Data Source=mydbname; User Id=root; Password=password"
'conn.ConnectionString = "Driver={mysql};Server=localhost;PORT=3306;UI D=root;PWD=password;OPTION=16386"
'conn.ConnectionString = "Provider=<<MySQLProv>>; Location=<<localhost>>; Data Source=<<mydbname>>; USER ID=<<root>>; PASSWORD=<<password>>; option=3;port=33 06;"
'conn.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=localhost Database=mydbname; User=root; Password=password; Optio n=4;"
'conn.ConnectionString = "Provider=MySQLProv.3.9;Location=<<localhost>>;Data Source=<<mydbname>>; USER ID=<<>root>>;Password=<<password>>;port=<<3306>>;"
'conn.ConnectionString = "Provider=MySQL Provider; Data Source=localhost; User ID=root; Password=password; Initial Catalog=mydbname;"
'conn.ConnectionString = "Server=localhost;Database=mydbname;Uid=User;Pwd=mypass; providerName=MySql.Data.MySqlClient"
'conn.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=mydbname; User=root;Password=myPassword;Option=3;"
'conn.ConnectionString = "Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=mydbname; User ID=root; Password=password;"
'conn.ConnectionString = "Data Source=localhost:3306;Database=mydbname;User ID=root; Password=password;"
我还在我的项目中引用了 Mysql.Data。
**我不想使用 MySQL 客户端。
请帮忙。谢谢
最佳答案
使用 OLEDB 的 MySQL 有三个连接字符串,如 here 所述:
标准
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
MySQL
指定 TCP 端口
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;
端口3306是默认的MySql端口。如果使用Unix socket,该值将被忽略。
多台服务器
使用它连接到复制服务器配置中的服务器,而不用担心要使用哪个服务器。
Server=serverAddress1, serverAddress2, serverAddress3;Database=myDataBase;
Uid=myUsername;Pwd=myPassword;
关于mysql - 使用 OLEDB 连接 localhost sql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38475454/