Ключевое слово не поддерживается "провайдер" ошибка - PullRequest
6 голосов
/ 18 марта 2011

c # .Net 3.5 с бэкэндом SQL Server 2000, в моем файле app.config есть строка подключения, которая выглядит следующим образом

<add name="MFG_ConnectionString" 
  connectionString="Provider=SQLOLEDB;Data Source=MFG;Persist Security Info=True;Password=kb1234;User ID=kb;Initial Catalog=MFG" 
  providerName="System.Data.OleDb" /> 

Эта строка подключения была создана с помощью мастера настройки источника данных. Создание набора данных с этим и перетаскивание элемента DataSource для создания DataGridView заполняет и успешно разрешает все операции CRUD.

Однако я не собираюсь вносить изменения в эту форму с привязкой к данным. Я пытаюсь сделать это за кулисами в коде. Поскольку это более старая версия SQL Server, я предполагаю, что для выполнения работы мне нужно использовать OleDbConnection и другие объекты OleDb. Когда я пытаюсь выполнить следующее:

OleDbConnection visualConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["MFG_ConnectionString"].ConnectionString);

Я получаю исключение: "Ключевое слово не поддерживается" провайдером ".
Но если я беру провайдера, мне говорят, что я должен его поставить. Не уверен, почему это работает через набор данных в форме, но я не могу создать свой собственный объект соединения ... какие-либо мысли?

РЕДАКТИРОВАТЬ Следует отметить, что когда я первоначально создал соединение с этой базой данных, он сказал мне, что база данных, к которой я пытался подключиться, НЕ поддерживает SqlConnection и что я должен выбрать другую (мой выбор быть OleDb в то время). Мне странно, что это соединение работает за кулисами как SqlConnection без провайдера в строке соединения, но набор данных затем разрывается ...

1 Ответ

1 голос
/ 18 марта 2011

SqlConnection отлично работает с SQL 2000. Вы можете получить образец строки подключения здесь

...