Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перенос базы MSSQL на PostgreSQL. Перевод хранимых процедур.
|
|||
|---|---|---|---|
|
#18+
Всем привет! сразу скажу, я постргесмен весьма юный. есть желание перенести базу на PostgreSQL с MSSQL2005. в MSSQL мы не обращаемся из клиента к таблицам непосредственно, а работаем посредством хранимых процедур. Такой подход оправдал себя на 100%: разделение прав, предкомпиляция, разделение уровней разработки и т.п. В MSSQL работаем через ADO примерно так: #import "msado15.dll" далее логин, запросы SQL - всё это работает. просто заполняем структурку _CommandPtr и обращаемся к ADO. до этого момента всё в порядке. далее возникает следующий затык. почему то не удаётся возвращать recordset-ы из хранимок. У нас стандартная хранимая процедура в MSSQL выглядит так: create procedure getFoo( @param1 int, @param2 int ) as begin select * from [footable] where [id1] = @param1 and [id2] = @param2 end при вызове этой процедуры из ADO мы заполняем рекордсет и "гуляем" по нему (MoveFirst(), MoveNext() ). А вот как написать процедуру на PostgreSQL, что бы со строны клиента можно было бы подцепить рекордсет. output параметры мы практически не используем, по историческим причинам, да и таблицы таким образом передавать нельзя (кажется, в mssql2008 уже можно, но речь не об этом) спасибо за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 10:28 |
|
||
|
Перенос базы MSSQL на PostgreSQL. Перевод хранимых процедур.
|
|||
|---|---|---|---|
|
#18+
Язык SQL: Код: plaintext 1. 2. 3. 4. 5. 6. Язык plpgsql В версии до 8.3: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. В версии 8.3: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 10:02 |
|
||
|
Перенос базы MSSQL на PostgreSQL. Перевод хранимых процедур.
|
|||
|---|---|---|---|
|
#18+
Если нужно вернуть только табличку footable если при возврате использовать различные объединения, то придется описывать тип того что будете возвращать :( или возвращать курсор а потом его выбирать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 10:13 |
|
||
|
Перенос базы MSSQL на PostgreSQL. Перевод хранимых процедур.
|
|||
|---|---|---|---|
|
#18+
спасибо большое за ответ я тут начал экспериментировать с возвращаемым recordset, пока что не очень успешно. если сработает, на рекордсеты забью. авторЕсли нужно вернуть только табличку footable да, в принципе, 99% вариантов использования это покрывает, так что всё в порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 10:16 |
|
||
|
Перенос базы MSSQL на PostgreSQL. Перевод хранимых процедур.
|
|||
|---|---|---|---|
|
#18+
ура! оно работает да. радость, правда, была чуть преждевременной, т.к. частенько имеем возврат из временных таблиц... ну да ладно, это уже детали, будем через курсор возвращать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 10:36 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35413315&tid=2004236]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 269ms |
| total: | 401ms |

| 0 / 0 |
