Я собираюсь использовать гем Blazer , чтобы предоставить моим пользователям платформу для самостоятельной работы на лету аналитика / информационные панели / et c - однако камень выглядит идеально для их случая использования У меня проблемы с подключением к Azure SQL.
Подключение к локализованной SQL Express установить нормально, и я подключаюсь через следующее:
data_sources:
database:
url: sqlserver://blazer:password@localhost:1433/database_name
Так что я знаю, что он работает со стандартным SQL сервером, как определено в readme.
Проблема возникает, когда я пытаюсь подключиться к нашей Dev Azure SQL DB.
В database.yml я использую следующее (работает нормально, просто добавляя здесь для контекста) , однако я не могу использовать эти параметры в Blazer.yml:
development:
adapter: sqlserver
database: database_name
host: hostname.database.windows.net
mode: DBLIB
port: 1433
username: username
password: password
azure: true
Я пробовал различные варианты подключения URL-адреса подключения в соответствии с документами Blazer, но не могу сработать как попасть в нужную БД в Dev Azure SQL. Лучшее, что я могу сделать, - это подключиться и войти в основную базу данных , если я переключусь на использование своего пользователя SA вместо использования только созданного мной пользователя Blazer только для чтения. Я делаю это с помощью следующего:
data_sources:
database:
url: sqlserver://sa_user:password@hostname.database.windows.net?database=database_name&azure=true
Примечания
- Он игнорирует флаг database = database_name в приведенном выше и подключается к мастеру
- Требуется лазурь = true флаг или TinyTDS не будут работать, и он вообще не будет подключаться
- hostname.database. windows .net / database_name не будет работать, так как это из-за отсутствия операторов USE в Azure SQL
- Невозможно установить базу данных по умолчанию в Azure SQL, поэтому я не могу обойти это таким образом либо
Насколько я могу скажите, мне нужно передать имя базы данных через URL, тогда TinyTDS должен сделать все остальное, но я не знаю, как - или есть ли другие способы для меня определить Соединение, которое должен использовать Blazer.
Отображение главной базы данных в Blazer