エラー: 42883: 関数 insertvideo(文字可変、文字可変、倍精度、整数) が存在しません
しかし、そのストアドプロシージャは存在します!!! なぜこのエラーが続くのですか???
これは私の接続文字列です:
<connectionStrings>
<add name="myConnection" connectionString="Server=127.0.0.1;
User Id=postgres; Password=myPass; Database=myDB; "/>
</connectionStrings>
ストアド プロシージャはpublic
スキーマ内にあり、正しく機能します。
using (NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["AxWaveConnection"].ToString()))
{
try
{
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
NpgsqlCommand cmd = new NpgsqlCommand("insertvideo", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(new NpgsqlParameter("out_scope_id", NpgsqlDbType.Bigint));
cmd.Parameters["out_scope_id"].Direction = ParameterDirection.Output;
cmd.Parameters.Add(new NpgsqlParameter("in_youtubeidvideo", NpgsqlDbType.Varchar, 15));
cmd.Parameters["in_youtubeidvideo"].Value = VideoId;
cmd.Parameters.Add(new NpgsqlParameter("in_title", NpgsqlDbType.Varchar, 200));
cmd.Parameters["in_title"].Value = Title;
cmd.Parameters.Add(new NpgsqlParameter("in_rating", NpgsqlDbType.Double));
cmd.Parameters["in_rating"].Value = Rating;
cmd.Parameters.Add(new NpgsqlParameter("in_viewcount", NpgsqlDbType.Integer));
cmd.Parameters["in_viewcount"].Value = ViewCount;
try
{
cmd.ExecuteNonQuery();
scopeID = Convert.ToInt64(cmd.Parameters["out_scope_id"].Value);
}
catch (Exception e)
{
scopeID = -1; //Duplicate Record
}
conn.Close();