无法访问localhost上的存储过程

时间:2012-11-09 11:52:23

标签: c# asp.net sql-server

一直试图让这个工作大约一个小时没有运气。我已将我的数据库从我的主机复制到我的本地机器并更改了连接字符串,但由于某种原因我不断收到此错误:

Could not find stored procedure

它是连接到正确的数据库,我可以在通过管理工作室连接时执行存储过程,所以我不知道出了什么问题。我该如何调试呢?

感谢。

以下是代码,但请记住,这在托管服务器上运行良好:

private void openDatabaseConnection()
{
    myConnection = new SqlConnection(_connectionString);
    myCommand = new SqlCommand();
    myCommand.Connection = myConnection;
    myCommand.Parameters.Clear();
    myConnection.Open();
}

    using (myConnection)
    {
        openDatabaseConnection();
        using (myCommand)
        {
            myCommand.CommandText = "storedProcedureName";
            myCommand.CommandType = CommandType.StoredProcedure;

            using (myReader)
            {
                myReader = myCommand.ExecuteReader();

                myReader.Read();
                //Get Data
            }

        }

    }

1 个答案:

答案 0 :(得分:1)

当您将数据库从一台服务器复制到另一台服务器时,您需要在目标服务器上设置数据库的所有者,如果您使用SQL Server帐户运行存储过程,那么您需要将数据库的所有者设置为该帐户。

要更改所有者,请按以下步骤操作:

  1. 右键单击数据库,选择“属性”
  2. 转到“文件”标签
  3. 在所有者文本框的右侧是一个按钮,单击它
  4. 从SQL帐户中选择您的应用用于访问数据库的帐户