我想使用Firebird 2.5。嵌入了.NET 4.0项目中的NHibernate 3.2。使用firebird提供者的代码可以很好地完成工作。但是当我尝试配置NHibernate
时Configuration = new Configuration().Configure();
UPD:
当我尝试构建会话工厂时
Factory = Configuration.BuildSessionFactory();
发生错误:
文件“C:\ MYDB.FBD”的“CreateFile(open)”操作期间的I / O错误 尝试打开文件时出错
在app.config中一切都很好看
<configSections>
<section
name="hibernate-configuration"
type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"
/>
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.FirebirdClientDriver</property>
<property name="connection.connection_string">
Server=localhost;
ServerType=1;
Database=C:\MYDB.FBD;
User=SYSDBA;Password=masterkey
</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.FirebirdDialect</property>
<property name="command_timeout">60</property>
<property name="query.substitutions">true 1, false 0, yes 1, no 0</property>
</session-factory>
</hibernate-configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
答案 0 :(得分:0)
我的猜测是,firebird嵌入式使用该文件,当你打开另一个会话时,它会尝试连接到同一个文件并抛出。
以下其中一项有用:
OpenSession(globalConnection);
答案 1 :(得分:0)
因为我没有看到解决方案我会添加我发现的内容 - 这个帖子有多久了:
在使用数据库之前,您必须先调用FirebirdSql.Data.FirebirdClient.FbConnection.CreateDatabase(ConnectionString);
。
https://sourceforge.net/p/firebird/mailman/message/9316804/
问候 Juy Juka