0

運が悪いので、これを約1時間機能させようとしています。データベースをホスティングからローカル マシンにコピーし、接続文字列を変更しましたが、何らかの理由で次のエラーが発生し続けます。

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
            }

        }

    }
4

1 に答える 1

1

あるサーバーから別のサーバーにデータベースをコピーする場合、宛先サーバーでデータベースの所有者を設定する必要があります。SQL Server アカウントを使用してストアド プロシージャを実行している場合は、データベースの所有者をそのアカウントに設定する必要があります。 .

所有者を変更するには、次の手順に従います。

  1. データベースを右クリックし、[プロパティ] を選択します。
  2. [ファイル] タブに移動します
  3. 所有者のテキストボックスの右側にボタンがあり、それをクリックします
  4. SQL アカウントから、アプリがデータベースへのアクセスに使用しているアカウントを選択します
于 2012-11-09T11:56:10.127 に答える