日期:2014-05-18  浏览次数:20905 次

c# 执行系统存储过程 不成功
string strMaseterConn="Data Source=192.168.0.35\\sql200;Initial Catalog=master;Persist Security Info=True;User ID=sa;Password=sa01";

  using (SqlConnection conn = new SqlConnection(strMaseterConn))
  {
  conn.Open();
   

  SqlCommand cmd = new SqlCommand("sp_password", conn);

  cmd.CommandType = CommandType.StoredProcedure;

  SqlParameter sqOldPass = new SqlParameter("@old", sa01);
  SqlParameter sqlNewPass = new SqlParameter("@new", sa);
  SqlParameter sqlUserName = new SqlParameter("@loginame", "sa");

  cmd.Parameters.Add(sqOldPass);
  cmd.Parameters.Add(sqlNewPass);
  cmd.Parameters.Add(sqlUserName);

  cmd.ExecuteNonQuery();
  }

提示 无法对 登录名 'sa' 执行 更改,因为它不存在,或者您没有所需的权限

------解决方案--------------------
我没看到你的sql语句在哪里 !!!!!!!!!!!!!!!!!!!!!!!!!!!
------解决方案--------------------
探讨
string strMaseterConn="Data Source=192.168.0.35\\sql200;Initial Catalog=master;Persist Security Info=True;User ID=sa;Password=sa01";

using (SqlConnection conn = new SqlConnection(strMas……

------解决方案--------------------
对,先在查询分析器里面实现看看。
------解决方案--------------------
Persist Security Info=True 改成false看看


------解决方案--------------------
那把 ConnectionString 换种写法再试试:

server=192.168.0.35\sql200;database=master;user id=sa;password=sa01

这样肯定是用sa身份去连接了
------解决方案--------------------
晕了。。。LZ的代码我刚测了一遍是可以干活的。不过我是连自己的127.0.0.1,没有用到命名实例或SQLExpress。但这应该也不是问题啊。