LINUX.ORG.RU

Работа с хранимыми процедурами

 , ,


0

2

При разработке системы требуется взаимодействовать с удалённой базой MSSQL в том числе для аутентификации. Но это пол-беды, самая большая проблема в том, что таблицы напрямую недоступны и придётся работать с ней через хранимки. В результате придётся строить запросы типа такого:

DECLARE @UserName NVARCHAR(256)

DECLARE @Email NVARCHAR(256)

DECLARE @LastLoginDate DATETIME

DECLARE @LastActivityDate DATETIME

EXEC UpdateUser
    'c090e62a-ae31-49e4-86f6-659bd70310aa',
    @UserName OUTPUT,
    @Email OUTPUT,
    @LastLoginDate OUTPUT,
    @LastActivityDate OUTPUT

SELECT @UserName, @Email, @LastLoginDate, @LastActivityDate

Насколько я понял, для руби нет такого удобного интерфейса работы с хранимками, как в пхп.

Подскажите, можно ли обернуть всю эту богадельню поверх ActiveRecord или как это получше представить? Может быть есть какой-то готовый гем?

★★★★★

Может быть для вас будет удобнее вместо ActiveRecord использовать sequel.

Возможно так тоже получиться:

ActiveRecord::Base.connection.execute(
  Arel::Nodes::SqlLiteral.new <<-SQL
    SELECT * FROM foo;
  SQL
)
На выходе будет массив хешей. Вам придется вручную упаковать всё это в объекты.

blan4
()
Ответ на: комментарий от blan4

Спасибо, Sequel действительно намного лучше подходит для данной задачи.

static_lab ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.