Привязка параметров postgresql / greenplum на jdbc, почему он считает это именем столбца? - PullRequest
0 голосов
/ 09 июня 2011

У меня есть запрос, который выглядит примерно так:

SELECT A.A, A.B, B.A, B.C, B.D
FROM tableone A, tabletwo B
WHERE A.A = B.A
AND B.C = :p_name

Когда для параметра: p_name установлено значение FOO Я получаю ошибку, подобную этой:

[42703] ОШИБКА: столбец "FOO" не существует

Когда я вручную устанавливаю его для включения одинарных кавычек 'FOO' , это работает.

Я пробовал заполнять экранированные одинарные кавычки. Я пробовал функции quote_ *. Я читал, используя "@", "$" и "?" Params Stypes. Это продолжает появляться.

EDIT

Устраняя столько, сколько могу, я попробовал следующее из консоли sql в IntelliJ

SELECT * from A where A.B = :p1 
SELECT * from A where A.B = ? 
SELECT * from A where A.B = @p1

И добавление «Foo» параметра в поле редактирования. Во всех трех случаях я получаю одну и ту же проблему. Когда я добавляю «Foo» в поле редактирования, я получаю ожидаемые результаты.

Я также использовал подготовленное состояние и? а не callableStatement с: p1 и также получил те же результаты.

Что я делаю не так?

EDIT

Удаление "stringtype = unspecified" из URL JDBC, похоже, устраняет проблему. Вот почему вы не должны просто копировать фрагменты или код других людей и просто предполагать, что он будет работать для вас.

...