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 等其他数据库。

我搜索了在线文献,但无法找到关于这个问题的任何突出显示。

我正在使用 Nhibernate 3.3.1 和 PostgreSQL 9.2。

4

1 回答 1

2

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

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

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

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

于 2013-07-20T12:19:15.860 回答