2014-11-06 82 views
0

我试图根据数据库类型更改我的sql查询。从连接字符串获取数据库类型

有没有办法理解具有连接字符串为您的参数数据库提供商(Sql ServerMySqlOracleSqlite)?

而且,我并不是说要解析和拆分连接字符串并搜索单词。

回答

0

你见过这个网站: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分别通过字符串UidUser Id等。

+0

是的我知道connectionstrings.com。你的解决方案的工作原理,但正如我所提到的,我想知道是否有更简单的方法来解析字符串? – Disasterkid 2014-11-06 09:10:25

+0

太多的启发式。 IIRC SQL Server支持'uid'和'user id'语法。此外,还有SQLNCLI *,它至少也支持'uid'。 – JensG 2014-11-06 09:14:26

+1

@Pedram,你的意思是使用一些图书馆为你做?因为连接字符串只是一个字符串,除了解析特殊的子字符串外,还有什么可以做的呢? – ZuoLi 2014-11-06 09:21:19