ASP.NET与Plesk托管的MySQL数据库的连接

时间:2017-07-11 03:09:32

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

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

[从我在网上看到的情况看来,我可能需要安装一些MySQL连接器,但我不知道如何在我的网络服务器上设置它]

我创建了数据库' 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

1 个答案:

答案 0 :(得分:0)

您是否尝试在连接字符串上添加端口? 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