提示错误:“应为“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引用才能正常使用。

原文地址:https://www.cnblogs.com/shengwei/p/7233043.html