0

テーブルのスキーマをelmah_errorpublic から elmah に変更したいです。

次のエラーが表示されます: Npgsql.NpgsqlException: relation "elmah_error" does not exist。パブリックのみでこのテーブルを検索し続けます。

schema=elmahWeb.configで errorLogを設定しようとしていますが、成功しませんでした。スキーマを追加するものをいくつか見つけましSqlerrolog.csたが、errorLog で PgsqlErrorLog を使用していPgsqlErrorLog.csて、変更する必要がありませんでした。

誰かがこの状況で何をすべきかについてヒントを持っていますか?

みんな、ありがとう。

4

1 に答える 1

0

私は asp.net や C# 側にはあまり詳しくありませんが、PostgreSQL 側には 3 つの基本的なアプローチがあります。1 つ目は、テーブルをスキーマ名で修飾することです。つまり、

select ... from elmah.elmah_error

もう 1 つのオプションは、セッションの検索パスを設定することです。

SET search_path = 'elmah';

3 番目のオプションは、検索パスが自動的に設定されるようにパラメーターを変更することです。

ALTER USER aspnet_user SET search_path = 'elmah';

ユーザーまたはデータベースを変更して、検索パスを設定できます。

于 2013-04-22T14:36:02.760 に答える