首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLException :在使用SQLHelper ExecuteNonQuery时,用户"xx“登录失败

SQLException :在使用SQLHelper ExecuteNonQuery时,用户"xx“登录失败
EN

Stack Overflow用户
提问于 2016-04-13 08:17:51
回答 1查看 382关注 0票数 0

在使用SQLHelper类执行更新存储过程时,我遇到了问题。我在SQLHelper.ExecuteNonQuery中使用SQLHelper.ExecuteNonQuery作为参数。

这是我的密码:

代码语言:javascript
复制
// Create SQLTransaction
public bool Delete()
{
    SqlConnection oConn = tsoDAL.OpenConnection();
    SqlTransaction oTrans = oConn.BeginTransaction();

    try
    {
        if (Delete(oTrans))
        {
            oTrans.Commit();
            return true;
        }
        else
        {
            oTrans.Rollback();
            return false;
        }
    }
    catch (SqlException ex)
    {
        oTrans.Rollback();
        throw (ex);
    }
    finally
    {
        tsoDAL.CloseConnection(ref oConn);
    }
}

// Call SQLHelper
public bool Delete(SqlTransaction p_oTrans)
{
        try
        {
            SqlParameter[] oParams = new SqlParameter[1];
            oParams[0] = new SqlParameter("@p_iSalesSoId", m_iSalesSoId);

            int iRowAffected = SqlHelper.ExecuteNonQuery(p_oTrans, "uspTSO_DeleteSalesOrder",oParams);

            return iRowAffected >= 0;
        }
        catch (Exception ex)
        {
            throw ex;
        }
 }

当代码在SQLHelper.cs中到达此代码时抛出一个错误

代码语言:javascript
复制
private static SqlParameter[] DiscoverSpParameterSet(string connectionString, string spName, bool includeReturnValueParameter)
{
        using (SqlConnection cn = new SqlConnection(connectionString)) 
        using (SqlCommand cmd = new SqlCommand(spName,cn))
        {
            cn.Open();   // error happens here
            cmd.CommandType = CommandType.StoredProcedure;

            SqlCommandBuilder.DeriveParameters(cmd);

            if (!includeReturnValueParameter) 
            {
                cmd.Parameters.RemoveAt(0);
            }

            SqlParameter[] discoveredParameters = new SqlParameter[cmd.Parameters.Count];;

            cmd.Parameters.CopyTo(discoveredParameters, 0);

            return discoveredParameters;
        }
    }

显示的错误是

用户“sa”登录失败。

我在寻找这个问题的解决方案,但我仍然没有找到能够解决我的问题的解决方案。

我需要你的帮助,谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-04-13 08:48:40

我跟踪了问题,真正的问题是SQLTransaction连接字符串丢失了密码。所以在我的连接字符串中,我添加了Persist Security Info=true;,这解决了我的问题。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36592483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档