2015-01-21 4 views
1

Я пытаюсь подключиться к базе данных Heroku Postgres (уровень Hobby-dev) из приложения C# Windows Forms с использованием поставщика Npgsql и Entity Framework (последние версии), и я получаю исключение ProviderIncompatibleException со следующими внутренними исключениями:Не удается подключиться к Heroku Postgres из приложения .NET (Npgsql)

«Поставщик не вернул строку ProviderManifestToken». "FATAL: 42501: разрешено разрешение для базы данных \" postgres \ "" Деталь: "Пользователь имеет , у него нет привилегии CONNECT."

Доступ к базе данных осуществляется с помощью приложения Ruby on Rails, которое также работает на Heroku, и я могу получить к нему доступ через pgAdmin III в Windows. Я думаю, что это не проблема с Npgsql, поскольку соединение прекрасно работает как с локальными, так и с удаленными базами данных PostgreSQL.

Строка соединения Я использую в файле app.config выглядит следующим образом:

Server=HerokuAmazonAWS;Port=5432;Database=MyHerokuDatabase;User Id=MyHerokuUsername;Password=MyHerokuPassword;SSL=true;SslMode=Require; 

Поскольку Heroku требуется подключение SSL к БД, я поставил его в строке подключения, так что похоже, не проблема. Эта ошибка разрешения «denied for database postgres» беспокоит меня, потому что я не пытаюсь подключиться к postgres db на этом сервере. Есть ли у вас идеи, что может быть причиной этого и как его исправить? Благодарю.

ответ

1

Мы выпустили исправление выпуска ошибки, которая может исправить эту проблему: https://github.com/npgsql/npgsql/releases/tag/v2.2.5

Предполагалась, что всегда можно подключиться к базе данных «Postgres», но как Amazon Redshift и Heroku, кажется, отозвали общий доступ к нему. Теперь вместо этого используется «template1».

+2

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

+1

Я тоже сталкиваюсь с этой проблемой: разрешение отклонено для базы данных «template1». Бегущий по героку. –

 Смежные вопросы

  • Нет связанных вопросов^_^