0

Nhibernate でデータベースのスキーマを生成する次のコードがあります。

new SchemaExport(configuration).Execute(true, true, false);

しかし、PostgreSQL データベースに対して実行すると、次のエラーが発生します。

[NpgsqlException (0x80004005): FATAL: 3D000: database "dbname" does not exist] 

ただし、データベースを手動で作成すると、スキーマはエラーなしでエクスポートされます。質問: Nhibernate SchemaExport が PostgreSQL データベースを作成できないのに、これが SQLite、MsSqlCe、MsSql Server などの他のデータベースに対して機能するのはなぜですか。

オンラインの資料を検索しましたが、この問題に関するハイライトを見つけることができませんでした。

PostgreSQL 9.2 で Nhibernate 3.3.1 を使用しています。

4

1 に答える 1

2

データベース内にテーブルやその他のオブジェクトを作成する前に、データベースを作成する必要があります。

CREATE DATABASEPostgreSQL 接続のステートメントでこれを行います - アプリ内で、またはpsqlまたはを介し​​てPgAdmin-III

PostgreSQL は、オンデマンド/初回アクセスでのデータベースの作成をサポートしていません。おそらくそれはあなたのツールが期待していることですか?

DB が存在し、他のツールで表示できると思われる場合は、同じデータベース サーバーに接続していない可能性があります。サーバーのアドレスとポートを確認してください。

于 2013-07-20T12:19:15.860 に答える