带 MS Access 数据库的 PetaPOCO
PetaPOCO with MS Access database
我正在尝试使用 MS Access 数据库测试 PetaPOCO。
web.config
中的连接字符串
<add name="ConString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Data.mdb; Persist Security Info=False" providerName="System.Data.Oledb" />
正在访问 MS Access 数据库-
var db = new PetaPoco.Database("ConString"); //throws exception here
var rows = db.Query<Model>("SELECT * FROM Table");
抛出异常-
"Could not match `System.Data.Oledb` to a provider.Parameter name: providerName"
有什么办法吗?如果是,如何?
我想你真正想要的是这个
using System.Configuration;
和
var db = new PetaPoco.Database(ConfigurationManager.AppSettings["ConString"]);
如他们的文档所述"Works with SQL Server, SQL Server CE, SQLite, MySQL, MariaDB, and PostgreSQL. (Oracle supported but does not have integration tests).",它不支持 MS Access
要使用它,您需要编写自己的提供程序。可在 here
中找到提供商样本
从 PetaPoco 版本 5.1.127 或更高版本开始,支持 MS Access,并且不需要自定义数据库提供程序。
示例配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<clear />
<add name="msaccess" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Databases\MSAccess\petapoco.accdb" providerName="OleDb"/>
</connectionStrings>
</configuration>
流畅的配置
var builder = DatabaseConfiguration.Build().UsingConnectionName("MyConnection");
var db = builder.Create();
构造函数配置
var db = new Database("MyConnection");
我正在尝试使用 MS Access 数据库测试 PetaPOCO。
web.config
中的连接字符串<add name="ConString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Data.mdb; Persist Security Info=False" providerName="System.Data.Oledb" />
正在访问 MS Access 数据库-
var db = new PetaPoco.Database("ConString"); //throws exception here
var rows = db.Query<Model>("SELECT * FROM Table");
抛出异常-
"Could not match `System.Data.Oledb` to a provider.Parameter name: providerName"
有什么办法吗?如果是,如何?
我想你真正想要的是这个
using System.Configuration;
和
var db = new PetaPoco.Database(ConfigurationManager.AppSettings["ConString"]);
如他们的文档所述"Works with SQL Server, SQL Server CE, SQLite, MySQL, MariaDB, and PostgreSQL. (Oracle supported but does not have integration tests).",它不支持 MS Access
要使用它,您需要编写自己的提供程序。可在 here
中找到提供商样本从 PetaPoco 版本 5.1.127 或更高版本开始,支持 MS Access,并且不需要自定义数据库提供程序。
示例配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<clear />
<add name="msaccess" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Databases\MSAccess\petapoco.accdb" providerName="OleDb"/>
</connectionStrings>
</configuration>
流畅的配置
var builder = DatabaseConfiguration.Build().UsingConnectionName("MyConnection");
var db = builder.Create();
构造函数配置
var db = new Database("MyConnection");