日期:2014-05-17  浏览次数:20485 次

根据数据库连接判断数据库类型
HTML code

<add key="p_link" value="Provider=msdaora;Data Source=mdsetstest;User Id=kanekoh;Password=ets"/>


如何根据web.config的数据库连接在程序中判断连接的数据库类型,是Oracle还是Sql Server?

------解决方案--------------------
明明有<connectionStrings>,为什么一定要 <appSettings>?难道是在用很古老的.net版本?

<connectionStrings>
<add name="p_link" connectionString="Data Provider=msdaora;Data Source=mdsetstest;User Id=kanekoh;Password=ets" providerName="System.Data.SqlClient" />
</connectionStrings>
------解决方案--------------------
判断key
------解决方案--------------------
可以通过Provider判断,不过这真不是一个好办法。
------解决方案--------------------
难道你是要代码?msdaora就是Oracle呀,截取或者正则就可以了,关键这不是一个好办法,Provider会有很多,以后可能还会增加,这样的代码维护太麻烦。

connectionStrings本身有providerName,而且默认提供的一些数据库工厂类,可以让你写不用考虑具体是什么数据库的通用代码,为什么不用呢?
------解决方案--------------------
关键是为何要根据数据库连接字符串来判断数据库类型?

有点奇怪,正常应该是根据应用数据库环境选择正确的连接字符串。