【问题标题】:How to fix web connection failed to load data from my database如何修复网络连接无法从我的数据库加载数据
【发布时间】:2014-12-16 23:56:37
【问题描述】:

我试图通过网页创建一个简单的数据库加载连接,但它总是给我一个错误:“建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或未找到服务器可访问。验证实例名称是否正确,并且 SQL Server 已配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)"

这是我的 web.config,使用 MySQL,MySQL server 2005

<connectionStrings>
<add name="MySQLConnection" connectionString="database=peronrecords;server=localhost;uid=root;pwd=root"/>
</connectionStrings>

这是我使用 gridview 的 vb 代码:

 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("MySQLConnection").ToString())
        ' Create a DataSet object. 
        Dim da As SqlDataAdapter
        Dim dt As New DataTable

        da = New SqlDataAdapter("SELECT id, name FROM student", conn)
        da.Fill(dt)

        ' Open the connection 
        conn.Open()

        GridView1.DataSource = dt
        GridView1.DataBind()
    End Using
End Sub

【问题讨论】:

    标签: mysql asp.net vb.net


    【解决方案1】:

    如果您要连接到 MySql,那么您需要使用适当的类。
    SqlConnection 和 SqlDataAdapter 是连接到 Microsoft Sql Server 所需的类,对于 MySql,您需要 MySqlConnection 和 MySqlDataAdapter。

    如果您下载并安装MySql NET Connector,然后将add a reference 安装到MySql.Data.dll 并在代码文件的顶部为MySql.Data.MySqlClient 添加Imports statement,则可以找到这些类。

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Using conn As New MySqlConnection(ConfigurationManager.ConnectionStrings("MySQLConnection").ToString())
            ' Create a DataSet object'
            Dim da As MySqlDataAdapter
            Dim dt As New DataTable
    
            da = New MySqlDataAdapter("SELECT id, name FROM student", conn)
            da.Fill(dt)
    
            ' Not needed. The DataAdapter opens the connection by itself if it is not opened
            ' conn.Open()
    
            GridView1.DataSource = dt
            GridView1.DataBind()
        End Using
    End Sub
    

    【讨论】:

    • 稍微扩展一下,原始代码中使用的类型是System.Data.SqlClient 命名空间的成员,专门用于SQL Server。您可以从 MySQL 下载并安装 Connector/NET,然后您就可以访问专门用于 MySQL 的 MySql.Data.MySqlClient 命名空间的相应成员。
    • @jmcilhinney 只是在输入它
    • 但是当我使用本地应用程序/独立应用程序(不是网页)时,它通过使用 ODBC 工作。
    • ODBC 使用不同的驱动程序,它们可能已预先安装。但是,您应该使用 MySql 连接器运行以获得更好的性能和功能
    • 我已经安装了 mysql-connector-net-6.9.5 但我找不到或导入 data.mysqlclien。它只找到 sqlclient。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多