|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
Добрый день, Существует таблица Nameserv, у нее в поле Addr хранится структура в формате %Library.Binary Сама структура состоит из Код: plaintext 1.
и Код: plaintext 1.
Мне нужно "вытащить" запись из таблицы по полю Addr, я знаю, что лучше это делать по каждому полю, т.е. Код: sql 1.
Подскажите пожалуйста интерфейс C++ к Cache, который поддерживает выборку структурированных объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2012, 18:09 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, Вы хоть версию Cache скажите. Для начала... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 08:57 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
П.С.М., Версия 2009.1.0.446.0 Проблема следующая: В коде на C++ есть структурка Код: plaintext 1. 2. 3. 4.
Эта структура записывается в поле Addr в формате %Library.Binary Мне нужно "вытащить" запись из таблицы по полю Addr (предполагаю, что можно это как-то сделать по каждому члену, т.е. Код: sql 1.
[/SRC] Подскажите, пожалуйста, как это сделать или в каком направлении копать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 12:51 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevпредполагаю, что можно это как-то сделать по каждому члену, т.е. Код: sql 1.
[/SRC] Такой синтаксис применяется к полям типа "другой класс"... Т.е. это не твой случай... А как в глобал записалась твоя "сишная структура"? Можешь посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 14:40 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevЭта структура записывается в поле Addr в формате %Library.Binary У нас это называется "тип поля/свойства"... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 14:44 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, Она записывалась через ODBC, Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 15:03 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, т.е. Код: plaintext 1.
привязывается к соответствующему полю Addr, затем загружаем в Код: plaintext 1.
структуру, в запросе указываем Код: sql 1.
и SQLExecDirect как я понимаю подставляет вместо ? нужное представление. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 15:11 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevОна записывалась через ODBC Дык пофиг как она там записывалась... Ты можешь посмотреть как ноно таки записалось в глобал? А сам SQL-запрос где делаешь? В Кашее? Или опять в сях? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 15:14 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, авторТы можешь посмотреть как ноно таки записалось в глобал? Как это посмотреть? авторА сам SQL-запрос где делаешь? В Кашее? Или опять в сях? Запрос из сей, я же кинул код ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 15:20 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevавторТы можешь посмотреть как ноно таки записалось в глобал? Как это посмотреть? В редакторе глобалов... У меня он есть. Если ты не знаешь - таки и не посмотришь... В тарминале например можно посмотреть... Если знаешь ИД записи и кашейские команды... Это тебе о чем-то говорит? dlazarevавторА сам SQL-запрос где делаешь? В Кашее? Или опять в сях? Запрос из сей, я же кинул код Тогда вопрос скорее к техподдержке ИС... И звучит он так: - Как мне посмотреть в С++ значение из вот такого вот класса, которые я записал из С++ вот таким вот макаром Клас-то хоть тот кто делал? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 15:42 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, авторЕсли ты не знаешь - таки и не посмотришь... Можно посмотреть через System management portal? авторКлас-то хоть тот кто делал? В коде используются функции ODBC, как записать структуру в базу известно (но понятия не имею как это реализовано) Насколько я знаю, ODBC не поддерживает выборку по структурированному объекту. Во всяком случае, мои попытки сделать по аналогии (читай: Код: sql 1.
и т.д.) не увенчались успехом. Поэтому мой вопрос звучит так: как мне из сей достать запись по полю с бинарным типом? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:23 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, Возможно есть какие-то другие интерфейсы к БД, через которые это можно сделать лекго и просто? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:29 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevМожно посмотреть через System management portal? Можно и там... Если сможешь найти конечно... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:30 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevВозможно есть какие-то другие интерфейсы к БД, через которые это можно сделать лекго и просто? Кащей это поезд! Ту нужно все делать максимально просто - тогда он помчится по рельсам быстро. Если начать мудрить - получишь всякие проблемы во всяких "связках" и пр... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:32 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, мне подойдет любой способ если он будет работать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:37 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, Вообщем относительно этой таблицы там есть 2 глобали: ccms.NBNSNameservD ccms.NBNSNameservI В ccms.NBNSNameservD: Код: sql 1. 2. 3. 4. 5.
Код: sql 1. 2. 3. 4. 5.
Это то что нужно было найти? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:45 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevЭто то что нужно было найти? Да. Молодец! ccms.NBNSNameservD - данные (их я и хотел посмотреть) ccms.NBNSNameservI - индексы Вобщем моё предположение подтвердилось... С точки зрения Кащея ты никак не сможешь работать с полем типа Binary... Т.е. именно брать из него "свои" поля. А описание класса ты можешь менять? Т.е. уйти от этого типа (Binary)? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:53 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev , а что вообще должно было храниться в тех записях? Т.е. "человеческий вид" будет какой у данных? По тем ИД, что ты показал (1171-1174)... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 16:57 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, Код: sql 1. 2. 3. 4. 5.
В поле Addr по сути хранится представление структуры из unsigned char и char[14] Менять нельзя, но думаю можно дополнительное поле добавить. Можно как-нибудь из Addr конвертировать данные в дополнительное поле, по которому уже читать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 17:11 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev , т.е. та галиматья и храниться... А как понять в твоём последнем сообщении где кончается Addr и начинается Flags? Они как-то слитно у тебя нарисованы... Есть подозрение что в кащее они будут как некий текст храниться. Вот только вопрос как их там разделить. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 08:48 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarevВ поле Addr по сути хранится представление структуры из unsigned char и char[14] Мне это ничего не говорит... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 08:49 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, Вы храните в СУБД сишную структуру и почему то полагаете что СУБД сама догадается что это есть структура и как вам ее можно развернуть, это не так, думаю что вам либо нужно вашу структуру развернуть самим и заполнить в нормальное с точки зрения СУБД хранение, либо обрабытывать ее теми средствами которыми вы туда его сохранили ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 09:44 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev Можно как-нибудь из Addr конвертировать данные в дополнительное поле, по которому уже читать? можно, если научитесь разбирать формат данных. Например, записать в базу заранее известные данные (Флаг+Адрес), затем получить эти данные в Каше и вывести их через команду zzdump Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 10:23 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
А можете выложить кусочек глобала с данными и описание класса? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 11:41 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
Блок А.Н., Описание класса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Глобаль: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 11:58 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, авторА как понять в твоём последнем сообщении где кончается Addr и начинается Flags? Они как-то слитно у тебя нарисованы... Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 12:06 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev , ты данным приделай какой-то разделитель чёле... А то так и не понятно что где... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 14:04 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
krvsa, Код: sql 1. 2. 3. 4. 5.
Вообщем у CC62-CORES2 Addr 'À¨k®hÐs ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 14:28 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, покажите результат команды zzdump Addr предварительно получив в переменную Addr значение 'À¨k†®hÐs ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 18:17 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
doublefint, а это где писать, в запросе или в классе? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 21:10 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, вот это: Код: sql 1.
в терминале Cache. и как сказал doublefint doublefint предварительно получив в переменную Addr значение 'À¨k†®hÐs ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2012, 15:44 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
Последовательно выполните эти команды в терминале (в той области, где у вас храняться ваши данные) Код: sql 1.
Код: sql 1.
Код: sql 1.
Код: sql 1.
Код: sql 1.
Таким образом в переменную adr получите то значение, которое просил вывести doublefint, а уже затем даете команду: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2012, 15:56 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
П.С.М., ругается что переменная Addr не определена, как ее определить в терминале? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2012, 16:17 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
П.С.М., ошибка в этой строке - Код: sql 1.
Может это из-за того, что курсор в терминале Код: sql 1.
а должен быть другой? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2012, 16:43 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, данные то у вас наверняка не в %SYS хранятся. переход в другую область выполняется командой Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2012, 18:33 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
П.С.М., вот такая выдача: CCMS_CONF>zzdump Addr 0000: 02 00 27 10 C0 A8 6B 8A 00 00 00 00 00 00 00 00 ..'.À¨k......... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 11:20 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, смысл того, что пытаемся сделать - получить данные на входе, и посмотреть как они хранятся внутри базы. zzdump выводит данные побайтно. Т.е нужно взять данные, содержание которых заранее известно (известно до сохранения), и потом вывести их уже после сохранения. &sql(Select Addr Into :Addr From Your.Table Where ID=:id) ,где id - идентификатор записи, у которой известно содержимое поля Addr до сохранения. Другими словами от вас ожидают две строки - данные до, данные после ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 13:36 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, zzdump addr вы уже делать умееть, а теперь попробуйте сделать по совету doublefint: doublefintdlazarev Можно как-нибудь из Addr конвертировать данные в дополнительное поле, по которому уже читать? можно, если научитесь разбирать формат данных. Например, записать в базу заранее известные данные (Флаг+Адрес), затем получить эти данные в Каше и вывести их через команду zzdump Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 13:40 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, похоже на правду? Код: javascript 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 14:41 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
Alexey Maslov, адрес верный, только в структуре он хранится вот так: ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 14:55 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, Вам ведь уже почти всё подсказали: опишите два дополнительных (Calculated) поля: txtAddr и txtFlag. Формулу для калькуляции txtAddr см. мой предыдущий пост. Осталось разобраться с флагом. По-видимому, он хранится в 15-том байте, коль скоро первые 8 оказались адресом, а всего на него отведено 14 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 15:16 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
Alexey Maslov, спасибо, а можно узнать, как эти 8 байт 02 00 27 10 C0 A8 6B 8A превратились в 192.168.107.138, судя по всему они зашифрованы. как вы догадались (плиз словами, я не понимаю каше)? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 15:33 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 15:49 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
ну я, 02 00 27 10 а первые 4 байта нафига? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 15:52 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev02 00 27 10 а первые 4 байта нафига? Хм, упорный... А примеры входа-выхода где? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 18:26 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
ну я, Женя, напиши мне, пожалуйста, на мыло в профиле (рабочая почта сейчас недоступна). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 18:50 |
|
Нужен интерфейс к Cache для C++
|
|||
---|---|---|---|
#18+
dlazarev, Когда в одном поле (aka BLOB) хранится куча данных, потом при поиске будет трудно всё это парсить. Я уже молчу про производительность - всегда будет FULL SCAN. Почему бы вместо %Binary не использовать встраиваемый класс %SerialObject? Тогда можно будет сделать на каждое поле свой индекс - увеличится скорость поиска - и сами запросы как на запись, так и на чтение примут читабельный вид. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2012, 11:22 |
|
|
start [/forum/topic.php?all=1&fid=39&tid=1557381]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 476ms |
0 / 0 |