我使用NHibernate與Web應用程序和Oracle 10g XE,目前我得到了以下錯誤:NHibernate的連接字符串問題
ORA-06413: Connection not open.
我的猜測是它與我的連接字符串的問題。下面是我的Web.config Hibernate配置:
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="MyProject.MyAssembly">
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
<property name="connection.connection_string">Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)));User ID=myid;Password=mypassword</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<mapping assembly="Domain" />
</session-factory>
</hibernate-configuration>
我使用下面的連接字符串也試過:
<property name="connection.connection_string">
User ID=myid;Password=mypassword;Data Source=localhost
</property>
這導致以下錯誤:
ORA-12154: TNS:could not resolve the connect identifier specified.
任何人都可以提供任何見解,我可能在這裏做錯了嗎?
編輯
我創建了相同的解決方案中一個控制檯應用程序項目。我創建了一個具有相同設置的hibernate.cfg.xml文件,並將其添加到該項目中。我可以堅持沒有問題的對象。
我已經將數據庫從Oracle 10g切換到MySQL,並且它在Web應用程序中正常工作。爲什麼Oracle 10g只能在控制檯應用程序中運行,而不能在Web應用程序中運行?
看看這個:http://www.dba-oracle.com/t_ora_06413_connection_not_open.htm – Falcon 2011-01-09 22:31:04