【发布时间】:2016-02-29 16:13:55
【问题描述】:
我正在将一个 delphi 应用程序(使用 mysql)转换为一个 c# 应用程序,要求能够连接到 MySQL 和 MS SQL 数据库。
连接字符串中的以下字段将由用户通过文本框手动设置:
Server, Port, DataBase, UserID, Password
然后我将它们分配给连接字符串:
connString = String.Format("Server={0}; Port={1}; DataBase={2}; Uid={3}; Pwd={4};", hostname, port, database, user, password);
但是,MySQL 和 MS SQL 字符串是不同的。我可以有一个选项,让用户根据他们连接到的数据库在两个不同的字符串之间切换,但是有没有一些通用的方法可以在不使用不同的连接字符串和SQLConnection vs MySQLConnection 的情况下在两者之间切换?
【问题讨论】:
-
怎么样:
connString = flagMySql ? String.Format("MYSQLCONNSTRING", values) : String.Format("MSSQLCONNSTRING", values);? -
嗯,我不是还需要两个连接字符串吗?
-
可能,是的。不知道能不能把MySql的conn字符串和MsSql的conn字符串结合起来。
-
<add name="DbMySqlConn" connectionString=" Data Source=MYSQLDataSrc;User Id={0};Password={1};" /> <add name="DbSqlConn2" connectionString=" Data Source=SQLServerDataSrc;User Id={0};Password={1};" />您可以添加类似这样的内容,具体取决于在 UI 中选择了哪个复选框项,让他们为他们的透视服务器帐户输入用户名和密码我目前使用 Oracle 和 Sql Server 执行此操作并且可以工作就像一个魅力..您将需要 2 个连接字符串 不允许用户输入连接字符串太多错误的机会 -
@pfinferno 如果这就是您的意思,您将需要两个连接字符串模板。也许您可以将
SqlConnectionStringBuilder用作DbConnectionStringBuilder和MySQL 的等价物(如果有的话)。
标签: c# mysql sql-server