【问题标题】:Unable to run stored procedure in .NET无法在 .NET 中运行存储过程
【发布时间】:2014-01-22 12:15:57
【问题描述】:

我能够在 MySQL Workbench 中运行存储过程。当我在.NET中调用存储过程时,我得到了这个错误。

错误信息: 错误 ReturnDatatable():SELECT 命令拒绝用户 'Admin'@'203.116.84.134' 用于表 'proc'

但是,用户是正确的,因为它可以从 MySQL 工作台正常运行。是否需要设置一些 .NET 配置设置?

.NET 代码如下所示。

<DataObjectMethod(DataObjectMethodType.Select)> _
    Public Shared Sub Calculate(ByVal USER_ID As Integer)

        Dim objDBProvider As DbProviderFactory = DbProviderFactories.GetFactory(ConfigSettings.ProviderName)
        Dim objDBConnection As DbConnection = objDBProvider.CreateConnection()
        Dim objDBCommand As DbCommand = Nothing
        Dim objDBDataAdaptor As DbDataAdapter = Nothing
        Dim objDBParameter As DbParameter = Nothing
        Dim int As Integer = 0

        Try
            objDBConnection.ConnectionString = ConfigSettings.ConnectionString
            objDBConnection.Open()
        Catch ex As Exception
            Throw New Exception("Error ReturnDatatable(): " & ex.Message)
        End Try

        Try
            objDBCommand = objDBProvider.CreateCommand()

            objDBCommand.Connection = objDBConnection
            objDBCommand.CommandText = "fullCalculation"
            objDBCommand.CommandType = CommandType.StoredProcedure

            objDBParameter = CreateParameter(objDBCommand, "USER_ID", DbType.Int32, USER_ID)
            objDBCommand.Parameters.Add(objDBParameter)

            int = Convert.ToUInt32(objDBCommand.ExecuteScalar())

            objDBCommand.Connection = objDBConnection
            objDBCommand.ExecuteNonQuery()


        Catch ex As Exception
            Throw New Exception("Error ReturnDatatable(): " & ex.Message)
        End Try
    End Sub

【问题讨论】:

  • 但是,用户是正确的,看错误信息。现在回到你写的。现在回到错误消息。现在回到你写的。坏消息:用户不正确或权限错误。

标签: mysql procedure


【解决方案1】:

我在 mySQL 工作台中以 ROOT 身​​份运行它,它似乎已修复:

GRANT SELECT ON mysql.proc TO `Admin`@`%`;

我仍然不明白它背后的原因,但我认为显然管理员用户之前被拒绝对存储过程的 SELECT 访问,奇怪的问题。

灵感:Protect Stored Procedure

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 2016-08-23
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 2013-12-25
    • 1970-01-01
    相关资源
    最近更新 更多