【问题标题】:ASP.NET connection to MySQL database hosted by PleskASP.NET 连接到 Plesk 托管的 MySQL 数据库
【发布时间】:2017-12-14 22:28:25
【问题描述】:

我一直在尝试建立与我在 Plesk 上构建的数据库的连接,我遇到了问题并且不确定如何解决我的连接问题。任何帮助将不胜感激,请尽可能详细。

[根据我在网上看到的情况,我可能需要安装一些 MySQL 连接器,但我不知道如何在我的 Web 服务器上进行设置]

我创建了数据库“mydatabase”作为我使用 phpmyadmin 构建的 MySQL 数据库。

创建并准备好表后,我想测试从我的 ASP.NET Web 应用程序到数据库的连接,只需插入一个字符串集以填充数据库中的单行。

我将通过 plesk 提供的连接字符串复制到我的 web.config 中

<connectionStrings>
    <add name="prodTbl" connectionString="Server=localhost;Database=mydatabase;Uid=admin;Pwd=password;" />
</connectionStrings>

然后我在我的 ASPX 页面中配置了以下连接代码;

Try
            Dim ProdConn As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("prodTbl").ConnectionString)



            Dim ProdCom As New SqlCommand With {.Connection = ProdConn}
            Dim ProdRdr As SqlDataReader

            ProdConn.Open()

            ProdCom.CommandText = "INSERT INTO Products (CompanyID, CompanyName, ProdName, ProdCategory, ProdStatus, ProdActiveDate, ProdIActiveDate, ProdPrice, ProdCoupons, ProdDiscount, ProdDiscountStart, ProdDiscountEnd, ProdOptions, ProdImages, Nutrition, NutServSize, NutCalories, NutCalfromFat, NutTotalFatGram, NutTotalFatPercnt, NutSatFatGram, NutSatFatPercnt, NutCholMg, NutSodMg, NutSodPercnt, NutTotCarbGram, NutTotaCarbPercnt, NutDietFibGram, NutDietFibPercnt, NutSugarGram, NutProteinGram, NutVitA, NutVitC, NutCalcium, NutIron) VALUES (@Cid, @CNme, @PNme, @Pcate, @Pstatu, @PAcDt, @IAcDt, @PPrice, @PCoupons, @PDiscnt, @PDiscntS, @PDiscntE, @POptions, @PImages, @Nutr, @ServSize, @Calories, @CalfFat, @TotalFat, @TotalFatP, @SatFat, @SatFatP, @Choles, @Sodium, @SodiumP, @TotalCarb, @TotalCarbP, @DietFiber, @Sugar, @Protein, @VitaminA, @VitaminC, @Calcium, @Iron)"
            ProdCom.Parameters.AddWithValue("@Cid", "12345")
            ProdCom.Parameters.AddWithValue("@CNme", "TestCompany")
            ProdCom.Parameters.AddWithValue("@PNme", "Pancakes")
            ProdCom.Parameters.AddWithValue("@Pcate", "Breakfast")
            ProdCom.Parameters.AddWithValue("@Pstatu", "Active")
            ProdCom.Parameters.AddWithValue("@PAcDt", "")
            ProdCom.Parameters.AddWithValue("@IAcDt", "")
            ProdCom.Parameters.AddWithValue("@PPrice", 5.5)
            ProdCom.Parameters.AddWithValue("@PCoupons", "")
            ProdCom.Parameters.AddWithValue("@PDiscnt", 0.25)
            ProdCom.Parameters.AddWithValue("@PDiscntS", "")
            ProdCom.Parameters.AddWithValue("@PDiscntE", "")
            ProdCom.Parameters.AddWithValue("@POptions", "Maple Syrup; Blueberries")
            ProdCom.Parameters.AddWithValue("@PImages", "BreakfastPancakes.jpg")
            ProdCom.Parameters.AddWithValue("@Nutr", "Y")
            ProdCom.Parameters.AddWithValue("@ServSize", "1")
            ProdCom.Parameters.AddWithValue("@Calories", "2")
            ProdCom.Parameters.AddWithValue("@CalfFat", "1")
            ProdCom.Parameters.AddWithValue("@TotalFat", "2")
            ProdCom.Parameters.AddWithValue("@TotalFatP", "1")
            ProdCom.Parameters.AddWithValue("@SatFat", "2")
            ProdCom.Parameters.AddWithValue("@SatFatP", "1")
            ProdCom.Parameters.AddWithValue("@Choles", "2")
            ProdCom.Parameters.AddWithValue("@Sodium", "1")
            ProdCom.Parameters.AddWithValue("@SodiumP", "2")
            ProdCom.Parameters.AddWithValue("@TotalCarb", "1")
            ProdCom.Parameters.AddWithValue("@TotalCarbP", "2")
            ProdCom.Parameters.AddWithValue("@DietFiber", "1")
            ProdCom.Parameters.AddWithValue("@Sugar", "2")
            ProdCom.Parameters.AddWithValue("@Protein", "1")
            ProdCom.Parameters.AddWithValue("@VitaminA", "2")
            ProdCom.Parameters.AddWithValue("@VitaminC", "1")
            ProdCom.Parameters.AddWithValue("@Calcium", "2")
            ProdCom.Parameters.AddWithValue("@Iron", "1")
            ProdCom.ExecuteNonQuery()

            ProdConn.Close()
        Catch ex As Exception
            Response.Write("<br /><br /><br /><br />FAILURE<br />" & ex.ToString)
        End Try
    End Sub

虽然我在异常捕获中不断收到以下错误;

System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'admin'. at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at ASP.admin_beoocatalog_aspx.dataRead(Object sender, EventArgs ea) in D:\InetPub\vhosts\becub3d.com\httpdocs\admin\BeOOCatalog.aspx:line 110 ClientConnectionId:ec0f7729-6d1b-488c-800a-d3fe4fb51055 Error Number:18456,State:1,Class:14

【问题讨论】:

    标签: mysql asp.net sql-server connection-string plesk


    【解决方案1】:

    您是否尝试在连接字符串上添加端口? localhost:3306(3306 是 mysql 的默认端口)

    <connectionStrings>
        <add name="prodTbl" connectionString="Server=localhost:3306;Database=mydatabase;Uid=admin;Pwd=password;" />
    </connectionStrings>
    

    或者您可以尝试在 web.config 中添加提供商名称,如下所示:

    <connectionStrings>
         <add name="dbCon" connectionString="Server=localhost:3306;Database=mydatabase;Uid=admin;Pwd=password;" providerName="MySql.Data.MySqlClient" />
    </connectionStrings>
    

    然后这样称呼它:

    Using mysqlConn As New MySqlConnection(ConfigurationManager.ConnectionStrings("dbCon").ConnectionString)) 
        'Your Database Code here'
    End Using
    

    【讨论】:

    • 感谢您的回复!我尝试通过几种不同的方式添加端口和提供程序名称。每当我包含端口时,我都会收到“在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。验证实例名称是否正确并且 SQL Server 已配置允许远程连接。”我还看到了对“作为新的 MySqlConnection”的调用但是当我在命名空间中包含导入时,它仍然说它没有定义..我需要在我的 plesk 上配置 mysql 连接器文件吗?
    • 抱歉,我再次阅读了您的问题,因为您已从 plesk 复制粘贴它,我认为如果它不包含端口号,请将其删除。尝试重置你的mysql用户名密码同时检查它是否有适当的连接、读、写等权限(不熟悉plesk但这个选项应该有这个)
    • 您好,感谢您提供的信息。已尝试直接重置密码,并删除端口。用户是数据库管理员,拥有对数据库功能的所有访问权限。从看起来我可能必须先在服务器上配置 mysql 连接器?然后修改我的代码以在我的代码中包含 MySqlConnection 语法...
    • 对 plesk 不是很熟悉,但上次我用 mysql 创建 web api c# 时非常简单。我刚刚添加了对该 mysql 库的引用,并且几乎没有,我认为唯一的区别是我使用的是 AWS EC2 和 MYSQL RDS
    猜你喜欢
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2017-06-05
    相关资源
    最近更新 更多