Форум: "Базы";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
ВнизПараметризированный запрос Найти похожие ветки
← →
Beer_Hunter (2008-05-02 21:55) [0]Подскажите пожалуйста, очень нужна помощь!!!
Есть хранимая процедура на Pl/pgSQL(СУБД PostGreSQL) (fill_proba), я вызываю её следующим образом:
DataModule2.ADOQuery1.SQL.Text:="select * from "public".fill_proba(:p2)";
DataModule2.ADOQuery1.Parameters.ParamByName("p2").Value := DataModule2.FoxProQuery.Fields[1].Value;
DataModule2.ADOQuery1.Active := true;
Проблема в том, что значение DataModule2.FoxProQuery.Fields[1].Value достигает 150 символов и Delphi выдает мне ошибку:
ERROR: identifier too long
DETAIL: Identifier must be less than 64 characters
Неужели нельзя, чтобы значение параметра было больше 64 символов? Если такой вариант возможен, то как этого добиться?
← →
sniknik © (2008-05-02 22:12) [1]> чтобы значение параметра было больше 64 символов?
вообщето ошибка говорит не про значение, а про идентификатор (имя). что там имеется в виду хз. (может моя ошибся в переводе?)
> Если такой вариант возможен, то как этого добиться?
можно проверить процедуру, проследить чтобы параметр был подходящего типа и подходящего размера (char(150) или varchar или что там в пострессе)
← →
Beer_Hunter (2008-05-03 00:00) [2]Пробовал устанавливать у парметра всевозможные типы и размер, результат тот же.
Интересно то. что когда пишу:
DataModule2.ADOQuery1.SQL.Text:="select * from "public".fill_proba(:p2)";
DataModule2.ADOQuery1.Parameters.ParamByName("p2").Value := "Привет";
Все работает отлично, но как только всместо "Привет", значению параметра присваиваю что-то больше 63 символов, выдает ошибку
ERROR: identifier too long
DETAIL: Identifier must be less than 64 characters
Проблема точно не в PostgreSQl.
← →
sniknik © (2008-05-03 00:13) [3]да не в нем, а в том как написана процедура. (имхо. не знаток посгреса)
← →
Виталий Панасенко(дом) (2008-05-03 16:25) [4]ДЛЯ охотник за пивом(или пивной охотник) - ясно ж написано: идентификатор слишком длинный, ПОДРОБНОСТИ: идентификатор должен быть короче 64...
символов.:-)
← →
Beer_Hunter (2008-05-03 17:40) [5]В процедуре нет проблемы, для входных параметров определен тип text- ну если и не безграничный, так уж точно больше 150 символов.
← →
MsGuns © (2008-05-03 18:48) [6]>Beer_Hunter (03.05.08 17:40) [5]
>В процедуре нет проблемы, для входных параметров определен тип text- ну если и не безграничный, так уж точно больше 150 символов.
Точно больше ?
Во-многих серверах есть длина чарактера по умолчанию. И она точно не больше 150
← →
sniknik © (2008-05-03 19:08) [7]> В процедуре нет проблемы
верится с трудом... че-то ты там мудришь. например с динамически составляемым запросом в котором значение параметра подставляется как имя поля/таблици.
хотя... чего уговаривать? сдесь (показанное) все нормально, и в процедуре (говоришь) тоже все хорошо... значит глюк от гремлина поселившегося в сервере постгресса... вызывай священника беса изгонять, а сюда ты не по адресу зашел. сдесь пустым заверениям не верят.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c