【发布时间】:2017-10-05 19:34:58
【问题描述】:
我正在尝试开发具有多个数据库提供程序的 dotnet 应用程序,我需要知道最常用数据库的 ConnectionString 和提供程序。我使用 System.DBCommon。这是我的代码:
public class DBConnector
{
public void ConectDatabase()
{
{
string connectionString =
"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST=MYHOST)(PORT=1527))(CONNECT_DATA=(SID=MYSERVICE)));" +
"User Id=MYUSER;Password=MYPASS;"; //Connection String
string provider =
"Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess"; //I need this for the most used databases (Mysql, PostgreSQL, SqlServer)
using (DbConnection conn = (DbConnection)Activator.
CreateInstance(Type.GetType(provider), connectionString))
{
conn.Open();
string sql =
"select distinct owner from sys.all_objects order by owner";
using (DbCommand comm = conn.CreateCommand())
{
comm.CommandText = sql;
using (DbDataReader rdr = comm.ExecuteReader())
{
while (rdr.Read())
{
string owner = rdr.GetString(0);
Console.WriteLine("{0}", owner);
}
}
}
}
}
}
我在这个站点中找到了连接字符串 https://www.connectionstrings.com/
但我也需要提供者。 谢谢
【问题讨论】:
-
使用this little trick described here 应该可以帮助您为安装在您机器上的提供程序创建至少一些完整的连接字符串。您还可以检查机器配置 - 它包含 DbCommon 可以定位的所有提供程序。我知道这不是一个完整的解决方案,所以我只评论,不回答。