Доступ из JavaScript к полям любых таблиц
Модератор: igors
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Алексей Горбунов
DSQL на Pervasive.SQL не работает пока. Т.е. теоретически работать может, поскольку именно так и проектировался.
Тем не менее в DSQL имеются некоторые возможности, индивидуальные для каждой СУБД. Например - sum(xxx) over.
Что-то из этого работает только на Oracle. Что-то - только на свежих MS SQL.
Так что:
1 DSQL ни разу не выхолащивает идею переносимости и не констатирует Pervasive как устаревшую.
2 Особенности на СУБД есть и грех их не использовать, поэтому 100% переносимость любого решения лишь усложнит реализацию.
Как-то так.
DSQL на Pervasive.SQL не работает пока. Т.е. теоретически работать может, поскольку именно так и проектировался.
Тем не менее в DSQL имеются некоторые возможности, индивидуальные для каждой СУБД. Например - sum(xxx) over.
Что-то из этого работает только на Oracle. Что-то - только на свежих MS SQL.
Так что:
1 DSQL ни разу не выхолащивает идею переносимости и не констатирует Pervasive как устаревшую.
2 Особенности на СУБД есть и грех их не использовать, поэтому 100% переносимость любого решения лишь усложнит реализацию.
Как-то так.
-
- топ-софт
- Сообщения: 19
- Зарегистрирован: Пт, 02/10/2009 13:06
- Имя Фамилия: Алексей Горбунов
- Откуда: Галактика Софт
- Контактная информация:
-
- заказчик
- Сообщения: 5
- Зарегистрирован: Чт, 01/04/2010 10:25
- Имя Фамилия: Георгий Хвития
- Откуда: Арсенал-Центр, ООО
Re:
Вопрос. Как включить эту библиотеку?kleban писал(а):Алексей Горбунов
на платформах Oracle и MS SQLServer в JavaScript доступна библиотека "Функции для прямого доступа к базе данных", дающая доступ к функциям Direct SQL, со всеми вытекающими возможностями и последствиями
так что доступ почти не ограничен, равно как и ответственность за полученные результаты/возникшие проблемы
-
- топ-софт
- Сообщения: 6
- Зарегистрирован: Вт, 17/11/2009 10:41
- Имя Фамилия: Сергей Ковалев
- Откуда: ТопСофт
Re: Доступ из JavaScript к полям любых таблиц
На платформе Oracle в алгоритме JavaScript на закладке Библиотеки в группе Общесистемные функции можно увидеть данную библиотеку. Если нет, можно выполнить перерегистрацию библиотек.
Re: Доступ из JavaScript к полям любых таблиц
Здравствуйте, коллеги. А как увидеть данную библиотеку на платформе MS SQL? В группе "Общесистемные функции" её нет, перерегистрацию библиотек выполнил.Kovalski писал(а):На платформе Oracle в алгоритме JavaScript на закладке Библиотеки в группе Общесистемные функции можно увидеть данную библиотеку. Если нет, можно выполнить перерегистрацию библиотек.
-
- топ-софт
- Сообщения: 6
- Зарегистрирован: Вт, 17/11/2009 10:41
- Имя Фамилия: Сергей Ковалев
- Откуда: ТопСофт
Re: Доступ из JavaScript к полям любых таблиц
Создаем файл UserScript.lst в каталоге exe, там пишем строку 'M_Scripts::JS_DirectSQL', выполняем перерегистрацию библиотек, и в группе Пользовательские функции будет данная библиотека. Пример в Exe\ManufExt\SAMPLES\VIP\UserLst\UserScript.lstzna писал(а): Здравствуйте, коллеги. А как увидеть данную библиотеку на платформе MS SQL? В группе "Общесистемные функции" её нет, перерегистрацию библиотек выполнил.
Re: Доступ из JavaScript к полям любых таблиц
Благодарю, это получилось. Теперь вопрос: каков синтаксис запроса, как воспользоваться открывшимися возможностями?Kovalski писал(а): Создаем файл UserScript.lst в каталоге exe, там пишем строку 'M_Scripts::JS_DirectSQL', выполняем перерегистрацию библиотек, и в группе Пользовательские функции будет данная библиотека. Пример в Exe\ManufExt\SAMPLES\VIP\UserLst\UserScript.lst
Re: Доступ из JavaScript к полям любых таблиц
Пытаюсь выполнить простейший javascript:
[/size]
в результате получаю сообщение об ошибке:
h1 = 217161468; select * from katorg = 30004,
хотя функция DSQL_RunQuery должна вернуть 0.
В чем проблема?
Код: Выделить всё
h1 = DSQL_CreateHandle();
Debug.print('h1 = '+h1+'; select * from katorg = '+DSQL_RunQuery(h1,'select * from katorg;'));
DSQL_DeleteHandle();
в результате получаю сообщение об ошибке:
h1 = 217161468; select * from katorg = 30004,
хотя функция DSQL_RunQuery должна вернуть 0.
В чем проблема?