[英]SQL.Data.SqlLite version with NHibernate 2.1
NHibernate可以使用SQLLite的哪個版本/實現。 我收到一個錯誤:
無法找到程序集SQLite.NET中的IDbCommand和IDbConnection實現。 確保程序集SQLite.NET位於應用程序目錄或全局程序集緩存中。 如果程序集位於GAC中,請使用應用程序配置文件中的元素指定程序集的全名。
讓我說dll在bin目錄中,我確定。 我正在使用System.Data.SQLite.DLL版本1.0.60.0。
這是hibernate.cfg.xml
<property name="connection.driver_class">
<!--NHibernate.Driver.SqlClientDriver-->
NHibernate.Driver.SQLiteDriver
</property>
<property name="connection.connection_string">
<!-- Server=.\SQLEXPRESS;User Id=epitka;Password=password;Database=dnn49;-->
Data Source=nhibernate.db;Version=3
</property>
<property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
<property name="query.substitutions">true=1;false=0</property>
<property name="show_sql">true</property>
我在Window XP盒子上運行它。
IDbCommand和IDbConnection位於System.Data命名空間中,而不在SQLite中。 你會發布你的nhibernate配置設置嗎?
以下是相關設置
dialect = NHibernate.Dialect.SQLiteDialect, NHibernate
connection.driver_class = NHibernate.Driver.SQLite20Driver, NHibernate
SQLite20Driver用於System.Data.SQLite,而SQLiteDriver用於SQLite.NET。 所以SQLite20Driver就是你的答案。
我在Windows 7 x64上遇到了同樣的問題,如果是這樣的話; 下載SQLite的二進制發行版( http://sqlite.phxsoftware.com/ )並引用x64版本。
麻風解決了:
如果從NHibernate的lib \\ NHibernate \\ Configuration_Templates文件夾中獲取配置模板,則必須從此URL獲取sqllite的dll http://sourceforge.net/projects/adodotnetsqlite/這是SQLite,驅動程序是NHibernate.Driver。 SQLiteDriver。 但正如該網站所說這個項目已經死亡。
所以你從這個url或者從FluentNhibernate lib文件夾http://sourceforge.net/projects/sqlite-dotnet2/下載新的System.Data.SQLite.DLL,驅動程序是NHibernate.Driver.SQLite20Driver
在驅動程序名稱中看到20?
無論如何,盡管我可能澄清了這個謎團。
我得到了這個,但它只是我沒有在我的測試項目中的引用上設置CopyLocal = True。
我也遇到了這個錯誤,它真的讓我發瘋了。 但是我已經解除了它。並與你分享,它可以幫助你看到這個鏈接
在VS2010中嘗試使用SQLite的Castle ActiveRecord時遇到此錯誤。 通過遵循此說明並將目標框架從.NET 4更改為.NET 3.5來解決此問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.