对于SOD框架的连接配置,如果是PWMIS.Core.dll内置的驱动程序,比如
- Access
- SqlServer
- Oracle
- OleDb
- ODBC
这些只需要在
<connectionStrings>
<add name="local" connectionString="Data Source=.;database=TestDB; Integrated Security=True" providerName="SqlServer"/>
</connectionStrings>
的providerName 的值,替换成上面的列表的值即可,比如Access,Oracle,注意大小写。
providerName="" 等同于 providerName="SqlServer" 。
但是,如果你要使用的SOD数据库驱动不是上面列表的类型,那么应该使用SOD的扩展数据访问驱动程序,比如MySQL,那么你应该像下面这样写:
<add name="default" connectionString="server=10.0.0.1;User Id=pdfnet;password=pdfnet2015;CharSet=utf8;DataBase=test;Allow Zero Datetime=True"
providerName="PWMIS.DataProvider.Data.MySQL,PWMIS.MySqlClient"/>
注意:在providerName的值中,格式是 “驱动程序类型全名称,驱动程序所在程序集名称” ,用逗号相隔,而不是分号,比如
PWMIS.DataProvider.Data.MySQL
是 SOD for MySQL的类型名称,而
PWMIS.MySqlClient 是该驱动程序所在程序集名称。
下面是一个SOD官方提供的扩展数据访问驱动程序类型名称与程序集名称对照表:
数据库类型 | 驱动程序类型名称 | 所在程序集名称 | 目标框架 | providerName |
Access | PWMIS.DataProvider.Data.Access | PWMIS.Core | .Net 2.0 | Access |
SqlServer | PWMIS.DataProvider.Data.SqlServer | PWMIS.Core | .Net 2.0 | SqlServer |
Oracle | PWMIS.DataProvider.Data.Oracle | PWMIS.Core | .Net 2.0 | Oracle |
OleDb | PWMIS.DataProvider.Data.OleDb | PWMIS.Core | .Net 2.0 | OleDb |
ODBC | PWMIS.DataProvider.Data.Odbc | PWMIS.Core | .Net 2.0 | Odbc |
SQLite | PWMIS.DataProvider.Data.SQLite | PWMIS.SQLiteClient | .Net 2.0 | {类型名称},{程序集名称} |
MySQL | PWMIS.DataProvider.Data.MySQL | PWMIS.MySqlClient | .Net 2.0 | {类型名称},{程序集名称} |
Oracle | PWMIS.DataProvider.Data.OracleDataAccess | PWMIS.OracleClient | .Net 4.0 | {类型名称},{程序集名称} |
PostgreSql | PWMIS.DataProvider.Data.PostgreSQL | PWMIS.PostgreSQLClient | .Net 3.5 | {类型名称},{程序集名称} |
SqlServerCe | PWMIS.DataProvider.Data.SqlServerCe | PWMIS.SqlServerCeClient | .Net 4.0 | {类型名称},{程序集名称} |
注意:
1,这里列出的Oracle是使用Oracle自己的数据库连接驱动ODP.NET,而PWMIS.Core 提供的Oracle是微软自己提供的。
2,SQLite for SOD 驱动已经内置同时支持了 32位和64位不同的SQLite,所以你直接使用即可。
3,你的应用程序无需添加对SOD扩展数据访问程序的引用,只需要把它们的DLL复制到你的运行目录下面即可。
至此,SOD仅仅通过连接类型的设置,AdoHelper运行时即可实例化出正确的数据访问驱动类型实例,因此,相比起EF框架或者其它数据访问框架来说,SOD的配置是最简单的,不是吗?