为什么Nhibernate SchemaExport无法创建PostgreSQL数据库?

时间:2013-07-20 10:13:02

标签: postgresql nhibernate

我有以下代码在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。

1 个答案:

答案 0 :(得分:2)

您必须先创建数据库,然后才能在数据库中创建表和其他对象。

使用PostgreSQL连接上的CREATE DATABASE语句执行此操作 - 在您的应用中,或通过psqlPgAdmin-III

PostgreSQL不支持按需创建数据库/首次访问。也许这就是你的工具所期待的?

如果您认为数据库确实存在并且您可以在其他工具中看到它,那么您可能没有连接到同一个数据库服务器?检查服务器地址和端口。