Соединение Rails MSSQL - TinyTds::Error: закрытое соединение

В настоящее время я пытаюсь настроить установку Redmine для нашей команды. Кажется, я не могу установить соединение с нашим сервером MSSQL изнутри рельсов.

$ RAILS_ENV=production bundle exec rake db:migrate
rake aborted!
TinyTds::Error: closed connection
/home/admin/.rbenv/versions/2.6.6/bin/bundle:23:in `load'
/home/admin/.rbenv/versions/2.6.6/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

Я установил sqlcmd для проверки соединения за пределами рельсов, и мне удалось войти в систему, создать и удалить таблицу в качестве теста. Я подозреваю, что это моя база данных.yml. Мне нужно подключиться к экземпляру MS SQL, а сервер работает на другом порту. Пытался немного поковыряться в настройках, но не получилось.

база данных.yml

production:
adapter: sqlserver
database: Redmine01
dataserver: server\instance
port: ####
username: user
password: "password"
encoding: utf8mb4

Хотя я немного поигрался с рельсами раньше, мои знания о рельсах определенно ограничены, и я никогда не устанавливал соединение с сервером MS SQL и не использовал гем TinyTds, поэтому я подозреваю, что просто не настроил свою среду. правильно. Отсюда и мой пост здесь. Я был бы очень признателен, если бы один из вас, экспертов по рельсам, мог взглянуть на конфигурацию базы данных. Информация, которую я смог найти относительно настройки rails для подключения к именованному экземпляру в сочетании с нестандартным портом SQL, была ограничена.

В качестве примечания: для sqlcmd я использовал «-S server\instance,####» для установки соединения. Что я, конечно, пробовал и в database.yml, но безуспешно.


person SnotMcBooger    schedule 11.05.2020    source источник
comment
Объем помощи, которую мы можем оказать вам при отладке соединения с базой данных, действительно ограничен. Есть просто путь ко многим неизвестным.   -  person max    schedule 11.05.2020
comment
Рады предоставить любую дополнительную информацию, которая может помочь. Знание того, правильно ли настроен мой файл database.yml, также было бы хорошим входом, поскольку я знал бы, что мне нужно смотреть дальше, а не просто неправильно определить экземпляр и порт в файле .yml (показано выше)   -  person SnotMcBooger    schedule 11.05.2020
comment
Мы никак не можем узнать, правильно ли настроен ваш файл database.yml, не зная точной конфигурации базы данных, к которой вы подключаетесь, которой вы не можете поделиться с нами.   -  person max    schedule 11.05.2020
comment
Я знаю, что задействовано много переменных, поэтому я протестировал соединение вне рельсов, чтобы убедиться, что это не проблема сети. Любой толчок в правильном направлении будет высоко оценен, а не искать здесь решение с ложкой. Я действительно просто потерялся в том, где искать дальше, поскольку формат database.yml - это то, что я нашел правильным для соединения MS SQL. Есть ли какие-либо другие параметры в файле database.yml, о которых я должен знать, что я пропустил? Есть ли способ получить от TinyTds более подробное сообщение, чем закрытое соединение?   -  person SnotMcBooger    schedule 11.05.2020


Ответы (1)


В случае, если кто-то наткнется на это, пропущенный экземпляр сделает свою работу.

production:
adapter: sqlserver
database: Redmine01
dataserver: server
port: ####
username: user
password: "password"
person SnotMcBooger    schedule 13.05.2020