Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

передача указателя   Найти похожие ветки 

 
matt ©   (2004-08-21 15:23) [0]

Доброго времени стуток!
Подскажите как передать указатель через Stored Procedure в UDF?


 
Desdechado ©   (2004-08-21 15:28) [1]

указатель на что?


 
matt ©   (2004-08-21 15:30) [2]

на область данных в памяти (pointer)


 
Desdechado ©   (2004-08-21 15:36) [3]

в памяти чего? сервера? а как ты этот указатель получил?


 
matt ©   (2004-08-21 15:39) [4]

база на локальном хосте, из клиента в базу должен передастся указатель на некую переменную, хранимая процедура передает в UFD которая получив указатель использует по своему усмортрению


 
Sergey_Masloff   (2004-08-21 15:42) [5]

matt ©   (21.08.04 15:39) [4]
Да при чем тут локальный - не локальный. Ты клиентский указатель хочешь передать чтобы использовать его в адресном пространстве сервера? Я правильно понял?


 
matt ©   (2004-08-21 15:43) [6]

нет, сервер должен получить доступ к адресному пространству клиента


 
Sergey_Masloff   (2004-08-21 15:48) [7]

matt ©   (21.08.04 15:43) [6]
>нет, сервер должен получить доступ к адресному пространству >клиента
Не можешь хотя бы вкратце описать как ты себе это представляешь? Типа ReadProcessMemory()?


 
matt ©   (2004-08-21 16:00) [8]

есть большая структура данных, скорость занесения этих данных в базу крайне критична. Одно из предложений как ускорить занесения -
не передавать их непосредственно из клиента в базу, а передать лишь
указатель на эту структуру, а после чего UDF самостоятельно занесет их в нужные таблицы.


 
Sergey_Masloff   (2004-08-21 16:06) [9]

Извини но это бред. Как UDF занесет их в другие таблицы? Открыв отдельный коннект к базе?  Это будет ДИКО медленно и ОЧЕНЬ глючно (если вообще всю эту мясорубку удастся раскрутить).


 
Desdechado ©   (2004-08-21 16:11) [10]

точно бред
неужели ты думаешь, что передача с клиента на сервер идет медленнее по тому же протоколу, чем по предлагаемому тобой способу?
да и указатель на память в клиенте НЕ ВАЛИДЕН для сервера...


 
matt ©   (2004-08-21 16:22) [11]

хм.. а если udf просто по указателю будет возвращать значения, а Хранимая процедура уже будет заносить?


 
Desdechado ©   (2004-08-21 16:29) [12]

вникни в [10], особенно последнюю строку


 
matt ©   (2004-08-21 16:32) [13]

я прошу прощения, вы не могли бы разьяснить?


 
Desdechado ©   (2004-08-21 16:42) [14]

В win32 каждая программа (а тем более каждая машина :) работает в своем адресном пространстве. Поэтому адрес AD00F576, указывающий на блок памяти с данными на клиенте в твоей программе, будет в другой программе на этом же клиенте указывать, например, на код какой-нибудь функции, причем в середине. А уж на сервере (машине и процессе) вообще неизвестно что это будет.


 
matt ©   (2004-08-21 17:00) [15]

я наверно все таки что то не понимаю - UDF это декларированная функция dll, разве я не могу передать в эту функцию указатель на переменную клиента?
а машина как я уже говорил выше - одна


 
-SeM-   (2004-08-21 17:09) [16]

Еще раз [14]
"UDF это декларированная функция" сервера, но не клиента!


 
Desdechado ©   (2004-08-21 17:14) [17]

Даже если клиент и сервер на одной машине, то все равно - у них РАЗНЫЕ адресные пространства. DLL работает в адресном пространстве сервера, а клиент - сам по себе.


 
jack128 ©   (2004-08-21 17:24) [18]

не то ты делаешь.. Я думаю в направлении external tables думать надо. Хотя конечно это зависит от того что у тя за данные.


 
kaif ©   (2004-08-23 03:16) [19]

Заноси данные как BLOB, если важна именно скорость занесения.
А потом при чтении данных пусть какая-нибудь UDF уже их разбирает. Это как бы альтернативная идея. Передать указатель не получится. Даже если получится каким-нибудь особенным суперским способом, то и выгрыша никакого я пока не вижу...
 Мне как-то попадалась UDF, которая со сносной скоростью разбирала XML-ы, которые в блобах лежали. Можно поискать ее реализацию и сварганить что-то подобное для чтения. А заливать чистые блобы...



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.047 c
4-1092036738
}|{yk
2004-08-09 11:32
2004.09.19
Как бы попроще получить иконку приложения?


4-1091314325
kulhacker
2004-08-01 02:52
2004.09.19
Своя кнопка в IE


1-1094202416
Ира
2004-09-03 13:06
2004.09.19
20-ти знаковое целое положительное число ???


3-1092977644
leonidus
2004-08-20 08:54
2004.09.19
Конвертация базы из dBase в Paradox


3-1093179316
CAMCOH
2004-08-22 16:55
2004.09.19
Как очистить таблицу с помощью Zeos