积极答复者
微软的企业库5.0 里面如何判断当前数据库的类型

问题
答案
-
呃,不能在各个数据库里面写同名的存储过程么?
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP- 已标记为答案 毅无涯 2011年4月10日 8:15
-
你好!
根据连接字符串中的 ProviderName 判断
知识改变命运,奋斗成就人生!
在代码里面好象不太容易处理吧,那我是不是要代码读 App.Config 文件,然后再定位到当前数据库,再找到 ProviderName ?Database db = DatabaseFactory.CreateDatabase();
Console.WriteLine(db.DbProviderFactory.ToString());输出:MySql.Data.MySqlClient.MySqlClientFactory
我想根据这个输出来判断,包括"Mysql" 的就是MYSQL 数据库,但这样会不会开支一个数据库接连呢?这个连接会什么时候释放呢?
相信自己,坚持下去。通过DbProviderFactory 就可以判断出是使用的哪个数据库提供工厂,进而可以判断出使用的什么数据库,这里仅仅是读取了配置而已,不会开支一个数据库连接
http://msdn.microsoft.com/en-us/library/bb748675(v=PandP.50).aspx
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China- 已标记为答案 毅无涯 2011年4月10日 8:14
全部回复
-
你好!
根据连接字符串中的 ProviderName 判断
知识改变命运,奋斗成就人生!
在代码里面好象不太容易处理吧,那我是不是要代码读 App.Config 文件,然后再定位到当前数据库,再找到 ProviderName ?Database db = DatabaseFactory.CreateDatabase();
Console.WriteLine(db.DbProviderFactory.ToString());输出:MySql.Data.MySqlClient.MySqlClientFactory
我想根据这个输出来判断,包括"Mysql" 的就是MYSQL 数据库,但这样会不会开支一个数据库接连呢?这个连接会什么时候释放呢?
相信自己,坚持下去。 -
呃,不能在各个数据库里面写同名的存储过程么?
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP- 已标记为答案 毅无涯 2011年4月10日 8:15
-
呃,不能在各个数据库里面写同名的存储过程么?
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP
这是个不错的方法,不过我开发的是个平台,不想和数据库关联太紧.
相信自己,坚持下去。 -
你好!
根据连接字符串中的 ProviderName 判断
知识改变命运,奋斗成就人生!
在代码里面好象不太容易处理吧,那我是不是要代码读 App.Config 文件,然后再定位到当前数据库,再找到 ProviderName ?Database db = DatabaseFactory.CreateDatabase();
Console.WriteLine(db.DbProviderFactory.ToString());输出:MySql.Data.MySqlClient.MySqlClientFactory
我想根据这个输出来判断,包括"Mysql" 的就是MYSQL 数据库,但这样会不会开支一个数据库接连呢?这个连接会什么时候释放呢?
相信自己,坚持下去。通过DbProviderFactory 就可以判断出是使用的哪个数据库提供工厂,进而可以判断出使用的什么数据库,这里仅仅是读取了配置而已,不会开支一个数据库连接
http://msdn.microsoft.com/en-us/library/bb748675(v=PandP.50).aspx
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China- 已标记为答案 毅无涯 2011年4月10日 8:14