Обновление - я получил его, используя Sequel и Ruby -ODB C гемов и другой пакет сборки для Heroku (https://elements.heroku.com/buildpacks/daasity/heroku-buildpack-snowflake-odbc)
Пришлось изменить AptFile line
https://sfc-repo.snowflakecomputing.com/odbc/linux/2.18.3/snowflake-odbc-2.18.3.x86_64.deb
до
https://sfc-repo.snowflakecomputing.com/odbc/linux/latest/snowflake-odbc-2.21.0.x86_64.deb
Я ищу несколько советов, которые помогут решить проблему, с которой я пытаюсь подключить приложение Rails 5.1 к базе данных Snowflake через ODB C на Heroku. Я пробовал разные методы, но продолжаю решать разные проблемы.
Шаги, предпринятые до сих пор:
- Добавлен пакет сборки heroku-community / apt
- Создан AptFile с помощью следующих пакетов :
unixodb c
unixodb c -dev
https://raw.githubusercontent.com/carwow/heroku-buildpack-snowflake-odbc/master/snowflake-odbc.deb
-
Добавлен гем odbc_adapter (https://github.com/localytics/odbc_adapter)
Изменен мой файл database.yml, включив в него: детали подключения снежинки.
Создан новый класс для зеркалирования таблицы, содержащейся в Snowflake, добавлена строка для Установить_коннект для Снежинки и метод для проверки соединения.
Когда я запускаю это локально, все работает отлично. При развертывании в Heroku и попытке запустить тот же метод я получаю эту ошибку:
ODB C :: Ошибка: S1000 (-1) [unixODBC] [DSI] Сообщение об ошибке SFRestRequestFailed могло не может быть найдено в локали en-US. Убедитесь, что /app/.apt/usr/lib/snowflake/odbc/lib/SFMessages_en-US.xml существует.
Когда я проверяю файловую структуру на Heroku, я вижу, что SFMessages_en_US . xml находится на другом пути.
Я попытался с помощью i sql -v посмотреть, смогу ли я получить более подробную информацию, но это возвращает ошибку:
[28000] [unixODBC] [DSI] Сообщение об ошибке DSIReqSettingNotFound не найден в локали en-US. Убедитесь, что /app/.apt/usr/lib/snowflake/odbc/lib/ODBCMessages_en-US.xml существует.
Я пытался заставить это работать, но не смог чтобы увидеть основную ошибку, я застрял.