请教一下C#访问数据库时的Provider,怎么知道本机有哪些可用的Provider?

白虹李李 2011-02-24 12:14:10
最近在学习C#访问数据库,关于连接串在网上看到过很多的例子。
关于ODBC的我知道可以去ODBC管理器中去看名字,就知道应该如何写DRIVER={}。
但OLEDB的呢,比如这个例子:
"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"

我的问题是,如何知道本机支持哪些Provider?简单的说我可以类似的在一个什么地方,查到这个MySQLProv吧?

换句话说,系统肯定也是去一个地方查的,如果没查到,会报错说没有这个驱动什么的。

在什么地方呢?
...全文
427 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
白虹李李 2011-07-23
  • 打赏
  • 举报
回复
自己再补充一下,方便后来的同学

using System.Data;
using System.Data.Common;
孟子E章 2011-02-24
  • 打赏
  • 举报
回复
 using (DataTable providers = DbProviderFactories.GetFactoryClasses())
{
Console.WriteLine("Available ADO.NET Data Providers:");
foreach (DataRow prov in providers.Rows)
{
Console.WriteLine("Name:{0}", prov["Name"]);
Console.WriteLine("Description:{0}", prov["Description"]);
Console.WriteLine("Invariant Name:{0}", prov["InvariantName"]);
}
}
wuyq11 2011-02-24
  • 打赏
  • 举报
回复
查看注册表
HKEY_LOCAL_MACHINE\software\odbc\odbc.ini
yalan 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
C# code
using (DataTable providers = DbProviderFactories.GetFactoryClasses())
{
Console.WriteLine("Available ADO.NET Data Providers:");
foreach (DataRow prov in pr……
[/Quote]

+1

带钻石的就是不一样!

111,123

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧