从连接字符串获取数据库类型
问题描述:
我试图根据数据库类型更改我的sql
查询。从连接字符串获取数据库类型
有没有办法理解具有连接字符串为您的参数数据库提供商(Sql Server
,MySql
,Oracle
,Sqlite
)?
而且,我并不是说要解析和拆分连接字符串并搜索单词。
答
你见过这个网站:connectionstrings.com?
所有最受欢迎的数据库的连接字符串列在那里 - 你可以看到他们的格式的差异。
E.G.甲骨文:
Data Source=MyOracleDB;Integrated Security=yes;
的MySQL:
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
SQL服务器:
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
从这些例子中,你可以说,你可以通过Data Source
子定义的Oracle数据库,然后告诉MySQL之间的区别和SQL Server分别通过字符串Uid
和User Id
等。
是的我知道connectionstrings.com。你的解决方案的工作原理,但正如我所提到的,我想知道是否有更简单的方法来解析字符串? – Disasterkid 2014-11-06 09:10:25
太多的启发式。 IIRC SQL Server支持'uid'和'user id'语法。此外,还有SQLNCLI *,它至少也支持'uid'。 – JensG 2014-11-06 09:14:26
@Pedram,你的意思是使用一些图书馆为你做?因为连接字符串只是一个字符串,除了解析特殊的子字符串外,还有什么可以做的呢? – ZuoLi 2014-11-06 09:21:19