如何用VB连接MySQL数据库

jackxiang 2010-4-26 08:14 | |
1.安装mysql,

2.安装MyODBC-standard-3.51.07-win.msi

3:vb连接语句是:

Public strcnn As StringPublic sql As String

Public conn As New ADODB.Connection

Public rs As New ADODB.Recordset

Sub link()

strcnn = "driver={MySQL ODBC 3.51 Driver};server=localhost;database=data;uid=root;pwd=zjb"conn.Open strcnn

End Sub

错误MySQL 返回: #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

出现这种问题也只有在MYSQL4.1.x以上版本,用4.0.x就没问题了。

原因是因为使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password ();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。

1、进入命令行下,转到MYSQL目录的BIN目录下,进入MYSQL命令行模式:

例:d:\mysql\bin>mysql -uroot -p123 用户root,密码123)

2、输入命令:mysql>set password for 'root'@'localhost'=old_password('123'); (注意冒号不能少)

3、退入MYSQL命令行:mysql>q

ok




VB程序访问服务器上一个mysql的库
先在本机上安装最新的ODBC CONNECTER/mysql

无需设置ODBC,就可以使用.

注意MYSQL的帐户登录是根据主机的,设置好MYSQL的帐户后再做测试.

测试代码:

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String

'connect to MySQL server using MySQL ODBC 3.51 Driver
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=192.168.0.1;" _
& " DATABASE=db_name;" _
& "UID=username;PWD=password; OPTION=3"

conn.Open

'create table
conn.Execute "DROP TABLE IF EXISTS my_ado"
conn.E

ODBC加载.
vb中添加一个Adodc的控件.
Public Function conn() As String
conn = "Provider=SQLOLEDB.1;Password=数据库管理密码;Persist Security Info=True;User ID=数据库管理帐号;Initial Catalog=数据库名;Data Source=计算机名"
End Function


Dim rs As New ADODB.Recordset
Dim con As New ADODB.Connection
Dim sql As String
Set con = CreateObject("ADODB.Connection")
con.Open conn
sql = "select * from Admin where username='" & username.Text & "' and password='" & password.Text & "'"
rs.Open sql, con, 1, 1


ODBC加载.
vb中添加一个Adodc的控件.

conn = "Provider=SQLOLEDB.1;Password=数据库管理密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=计算机服务器名称"



Dim rs As New ADODB.Recordset
Dim con As New ADODB.Connection
Dim sql As String
Set con = CreateObject("ADODB.Connection")
con.Open conn
注:不管用什么方法都要有MySql驱动!!!

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/3005/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]