2014-01-07 1 views
2

я пытаюсь открыть соединение и я получаю следующее сообщение об ошибке:разрешения отказано установить параметр «lc_monetary» на «C»

permission denied to set parameter "lc_monetary" to "C"

что я должен делать?

+0

Произошло это при попытке подключиться к Amazon Redshift? – MateusBR

+0

Да. Я использовал драйвер от: http://npgsql.projects.pgfoundry.org/ В конечном счете, я подключился с использованием ODBC, и он работал оттуда – Tsahi

ответ

3

У меня была такая же проблема с подключением к кластеру Amazon Redshift при использовании рекомендуемой библиотеки, Npgsql.

То, что сработало для меня было удаление/комментирование следующей строки в файле NpgsqlStartupPacket.cs @ 63:

parameters.Add("lc_monetary", "C"); 

та же установка LC_MONETARY появляется в другом файле, который есть описание его использование: NpgsqlConnector.cs @ 953.

Однако это не должно быть принято в качестве решения, но обходным путем, так как я еще не определил влияние этого изменения. Но похоже, что Redshift не поддерживает эту функцию.

+0

Влияние этого изменения будет на поддержку формата данных данных. Если ваш postgresql не обрабатывает десятичные значения с точкой, например 123.45 и/или не возвращает отрицательные денежные значения, как -123.45, у вас будут проблемы. Если ваш текущий язык - США, у вас не будет проблем. Я надеюсь, что это помогает. –

+1

Спасибо за ваш комментарий @FranciscoJunior приятно иметь обратную связь от разработчика lib. Я использую Amazon Redshift, и поскольку они только реализуют подмножество спецификации Postgres, я предполагаю, что EN-US является стандартным языковым стандартом, и поэтому у меня не должно быть никаких проблем с этим параметром. Благодаря! – MateusBR

+0

Добро пожаловать, @MateusBR. Я рад слышать, что вы используете Npgsql в этой среде (хотя есть проблема, над которой мы работаем, чтобы исправить). Проблема в том, что вы можете проверить информацию о ходе этой проблемы: https://github.com/npgsql/Npgsql/issues/163 Спасибо за отзыв. –

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