|
|
|
Как в JDBC получить результат вызова функции Oracle типа BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! У меня такй вопрос: Как в JDBC получить результат вызова функции Oracle типа BOOLEAN? Более детально. Есть функция на pl/sql типа: Код: plaintext 1. 2. 3. 4. Делаю вызов этой функции через JDBC: Код: plaintext 1. 2. 3. 4. 5. 6. В результате получаю такой SQLException: "Недопустимый тип столбца". Действительно, в Oracle столбец не может иметь тип BOOLEAN. Отсюда и возник вопрос. Заранее спасибо за помощью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 15:34 |
|
||
|
Как в JDBC получить результат вызова функции Oracle типа BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Oracle® Database JDBC Developer's Guide and Reference 28 Coding Tips and Troubleshooting 28.3 Common Problems 28.3.3 Boolean Parameters in PL/SQL Stored Procedures Due to a restriction in the OCI layer, the JDBC drivers do not support the passing of BOOLEAN parameters to PL/SQL stored procedures. If a PL/SQL procedure contains BOOLEAN values, you can work around the restriction by wrapping the PL/SQL procedure with a second PL/SQL procedure that accepts the argument as an INT and passes it to the first stored procedure. When the second procedure is called, the server performs the conversion from INT to BOOLEAN. Но вот если процедура возвращает NUMBER, то cst.getBoolean() пройдет, 0 будет истолкован как FALSE, все остальное - TRUE. Предварительно надо будет сказать cst.registerOutParameter(..., OracleTypes.NUMBER); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 16:29 |
|
||
|
Как в JDBC получить результат вызова функции Oracle типа BOOLEAN
|
|||
|---|---|---|---|
|
#18+
К сожалению пришлось изменить сигнатуру функции ведя свой подтип, но типа CHAR. Так эффективнее. Scott Stephens Scott Stephens Oracle Tip: Choosing an efficient design for Boolean column values ... We could define a Boolean as NUMBER(1); however, in Oracle's internal number format, 0 takes 1 byte and 1 takes 2 bytes after the length byte (so it's more efficient to store it as CHAR). Even though the character is defined as CHAR, SQL can convert and verify against actual numbers. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 16:51 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2151705]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 508ms |

| 0 / 0 |
