提示错误:“应为“providerInvariantName”参数的非空字符串。”
我在调试Petapoco的T4模版的时候,链接一直报如题那个错误。
在定性问题为配置文件后找的原因如下:
<connectionStrings> <add name="这个不行" connectionString="Data Source=xxx;Initial Catalog=数据库名;User ID=帐号;Password=密码" /> <add name="这个可以" connectionString="Data Source=xxx;Initial Catalog=数据库名;User ID=帐号;Password=密码" providerName="System.Data.SqlClient" /> </connectionStrings>
以上可以看出,是因为数据库连接中少了providerName属性导致的问题。
providerName值参考:
"System.Data.SqlClient" ----说明使用的是MSSQLServer数据库
"System.Data.SqlLite" ----说明使用的是SQLLite数据库
"System.Data.OracleClient" ----说明使用的是oracle数据库或providerName="System.Data.Oracle.DataAccess.Client"
"System.Data.OleDb" ----说明使用的是Access数据库
"MySql.Data.MySqlClient" ----说明使用的是Mysql数据库
其中,Mysql数据库比较特殊,需要单独添加Mysql.DLL引用才能正常使用。