【问题标题】:Connecting localhost sql database with OLEDB将 localhost sql 数据库与 OLEDB 连接
【发布时间】:2016-11-23 08:20:23
【问题描述】:

我有以下代码使用 VB.NET 将 localhost 数据库与 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 客户端。

请帮忙。谢谢

【问题讨论】:

    标签: mysql vb.net connection-string


    【解决方案1】:

    here 所述,使用 OLEDB 的 MySQL 有三个连接字符串:

    标准

    Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
    MySQL
    

    指定 TCP 端口

    Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;
    Pwd=myPassword;
    

    端口 3306 是默认的 MySql 端口。如果使用 Unix 套接字,则忽略该值。

    多台服务器

    使用它来连接到复制服务器配置中的服务器,而不用担心使用哪个服务器。

    Server=serverAddress1, serverAddress2, serverAddress3;Database=myDataBase;
    Uid=myUsername;Pwd=myPassword;
    

    【讨论】:

    • 尝试了第一个和第二个,错误消息:“没有在 ConnectionString 中指定 OLE DB 提供程序。例如,'Provider=SQLOLEDB;'。”
    【解决方案2】:

    使用“provider = MSDataShape”解决

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多