Список доступных поставщиков БД - PullRequest
4 голосов
/ 31 августа 2010

У меня проблемы с построением строк подключения. Я использовал для генерации «Provider = SQLOLEDB» или «Provider = SQLNCLI». Теперь я вижу, что у некоторых пользователей есть SQLNCLI10, а SQLNCLI отсутствует. Можно ли перечислить доступных поставщиков, чтобы я мог выбрать действительного?

System.Data.Common.DbProviderFactories.GetFactoryClasses () содержит список поставщиков данных .NET, но я до сих пор не знаю, какие параметры строки подключения являются действительными.

Ответы [ 2 ]

5 голосов
/ 31 августа 2010

Если вы используете System.Data.SqlClient.SqlConnection (прямо или косвенно), нет необходимости указывать элемент Provider в строке подключения.Я полагаю, что это значение просто игнорируется, если оно предоставлено.

Полный список всех поддерживаемых элементов в SqlConnection строках подключения см. В документации .Вы используете OleDb, это делает то, что вы хотите: http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbenumerator.aspx

Например:

internal static class Program
{
    private static void Main(string[] args)
    {
        using (OleDbDataReader dataReader = OleDbEnumerator.GetRootEnumerator())
        {
            while (dataReader.Read())
            {
                Console.WriteLine("{0}, {1}", dataReader[0], dataReader[2]);
            }
        }
    }
}
0 голосов
/ 31 августа 2010

Подробнее о строке подключения см. connectionstrings.com .

...