2013-07-20 1 views
0

내가하지만, NHibernate에Nhibernate SchemaExport가 PostgreSQL 데이터베이스를 만들 수없는 이유는 무엇입니까?

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을 사용하고 있습니다.

+0

'새로운 SchemaExport (구성) .Create (true, true, false);'가 아니어야합니까? – Komengem

+2

"* dbname"이 존재하지 않는다고 생각합니다. ""꽤 명확합니다. 그렇지 않습니까? –

답변

2

데이터베이스 내에 테이블과 다른 개체를 만들기 전에 데이터베이스를 만들어야합니다.

PostgreSQL 연결에서 CREATE DATABASE 문을 사용하십시오 (앱에서 또는 psql 또는 PgAdmin-III을 통해).

PostgreSQL은 주문형/최초 액세스시 데이터베이스 생성을 지원하지 않습니다. 아마도 그것은 당신의 도구가 기대하는 것입니까?

DB가 존재한다고 생각하고 다른 도구에서 볼 수 있다면 동일한 데이터베이스 서버에 연결하지 않았을 수 있습니까? 서버 주소 및 포트를 확인하십시오.

+0

이제 이해합니다. 내가 어디를 볼 수는 없지만 나는 실수를하고 있다고 생각했다. "PostgreSQL은 데이터베이스 생성을 지원하지 않습니다 ..."에 관한 문헌을 가리키는 모든 포인터가 있습니까? – kagundajm

+0

@CallMeKags 내 머리 위로/빠른 검색이 아닙니다. PostgreSQL 백엔드는 일단 시작되면 데이터베이스를 전환 할 수 없기 때문에 구조적으로하기가 어렵습니다. CREATE DATABASE는 기존 DB에 연결해야합니다. 메일 링리스트 어디에서나 더 많은 토론이있을 것이지만 빠른 검색에서 찾을 수는 없습니다. –

관련 문제