不知道是怎么回事我有一个存储过程命名为我正在调用的内容,但是它总是给我这个无效的对象错误。这是连接代码,错误出现在倒数第二行。

SqlConnection cnstr = new SqlConnection(ConfigurationManager.ConnectionStrings["darconn"].ConnectionString);
SqlCommand sqlcmd = new SqlCommand();

sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Connection = cnstr;
sqlcmd.CommandText = "SetMapping";

String[] pullKodID = bundlelist.SelectedValue.ToString().Split(':');
int kod_id = System.Convert.ToInt32(pullKodID[0]);

sqlcmd.Parameters.Add("@kod_id", kod_id);
sqlcmd.Parameters.Add("@ell_id", courselist.Items[i].Text);
cnstr.Open();
sqlcmd.ExecuteNonQuery();
cnstr.Close();

最佳答案

很可能存储过程对您的代码不可见,因为它是由 dbo 或连接字符串中指定的用户以外的用户创建/拥有的。

您是否尝试过使用 dbo 为存储过程名称添加前缀?例如“dbo.SetMapping”。

如果失败,请使用 Management Studio/Enterprise Manager 找出谁拥有存储过程并将其重新创建为 dbo 或更新您的代码/连接字符串以使用适当的用户。

关于asp.net - 尝试执行存储过程时出现无效的对象名称错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/869315/

10-10 10:53
查看更多