оракул - не переносите капли - PullRequest
3 голосов
/ 04 июня 2010

Я заметил, что в «SQL Developer», если вы выбираете из таблицы, содержащей BLOB, вместо отображения / загрузки содержимого BLOB используется слово «(BLOB)».

Это что-то, что можно сделать на уровне сеанса?

У меня есть программа .net, которая "выбирает * из TABLE_WITH_BLOB", которая возвращает содержимое BLOB. Я не могу изменить программу, выбрав все столбцы, поэтому лучше всего сказать .net или сеансу, чтобы они не передавали большие двоичные объекты. Кто-нибудь знает способ сделать это?

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Один из способов - создать отдельную дочернюю таблицу для этих BLOB-объектов и использовать представления с / без объединенных BLOB-объектов, в зависимости от ситуации.

1 голос
/ 04 июня 2010

Нет, SQL Developer, по-видимому, создает и выполняет оператор динамического выбора, проверяя определение таблицы, а для столбцов BLOB он просто заменяет литерал '(BLOB)' примерно так:

v_sql := 'SELECT col1, col2, col3, ''(BLOB)'' as blob_col FROM mytable';

Ваша программа .net должна будет сделать нечто подобное, чтобы избежать получения BLOB-данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...