在我的 C# 应用程序中,我大致有以下代码:
在 App.Config 中:
<connectionStrings>
<add name="Con1" connectionString="..." providerName="System.Data.Odbc"/>
</connectionStrings>
在我的代码中:
static DbConnection createConnection(ConnectionStringSettings conn_str)
{
DbProviderFactory factory = DbProviderFactories.GetFactory(conn_str.ProviderName);
var retval = factory.CreateConnection();
retval.ConnectionString = conn_str.ConnectionString;
return retval;
}
这为我创建了一个连接变量,conn
并且效果很好(我可以打开连接、查询它等),所以我知道我引用了正确的库。
但是,稍后,我需要再次获得工厂并使用:
DbProviderFactory factory = DbProviderFactories.GetFactory(conn);
但是,无论出于何种原因,我收回了那个factory = null
。
我做错了什么吗?