Использование провайдера Npgsql с подключением к базе данных OLE - PullRequest
1 голос
/ 29 марта 2012

Итак, у меня есть следующая строка подключения, которая вызывает у меня проблемы.Я пытаюсь написать приложение, которое может быть независимым от базы данных (трудным, но не невозможным), и я приступил к тестированию его на PostgreSQL, однако я не могу получить соединение OLE для работы с ним.Из того, что я видел, это вполне возможно.

Я получил все, что работало, используя специальный класс для PostgreSQL, но в нем использовались типы Npgsql, а не общие типы OLE.

Например, private NpgsqlCommand m_postgreSQLDatabaseCommand;

Вместо частного OleDbCommand m_oleDatabaseCommand;

В моих обстоятельствах это неприемлемо.

Я попытался просто изменить строку подключения, используя поставщика Npgsql, но я не уверен, чтоЯ использую это правильно.Я получаю ошибку ниже:

Строка соединения:

<add name="ApplicationPostgresDefault" 
    connectionString="Server=127.0.0.1;Port=5432;
    Database=myDatabase;
    User Id=myUser;
    Password=myPass; 
    Provider=Npgsql"
/>

Ошибка:

The 'Npgsql' provider is not registered on the local machine.

Что можно сделать, чтобы решить эту проблему?

ЕслиЯ правильно ввел провайдера, смогу ли я общаться с PostgreSQL, как я это делал с объектами Npgsql?

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

На локальном компьютере не установлен поставщик.

Я бы в любом случае предложил использовать собственный клиент, а не OleDb:

http://npgsql.projects.postgresql.org/

http://connectionstrings.com/Providers/npgsql

это ваш выбор

0 голосов
/ 29 марта 2012

Вам не хватает ; после Npgsql?

...