Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / PLSQL in .NET / 5 сообщений из 5, страница 1 из 1
19.10.2010, 17:06
    #36908169
Абсолют
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PLSQL in .NET
Вечер добрый, уважаемые!

Как мне заставить выполниться
Код: plaintext
1.
SET SQLCOMPAT PLSQL

в .NET платформе? Вот такой код выдаёт ошибку (см. ниже):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var command = db2Connection.CreateCommand();
command.CommandText = "SET SQLCOMPAT PLSQL;";
try
{
command.ExecuteNonQuery();
}
catch (DB2Exception db2Exception)
{
Trace.TraceError(db2Exception.Message);
}

Код: plaintext
1.
2.
ERROR [ 42601 ] [IBM][DB2/LINUX] SQL0104N  An unexpected token "PLSQL" was found following "SET SQLCOMPAT ". 
 Expected tokens may include:  "=".  SQLSTATE= 42601 

Клиент: "DB2 v9.7.200.358", "s100514", "IP23083", and Fix Pack "2". (т.е. один из последних)
Сервер: "DB2 v9.7.0.1", "s091114", "IP23033", and Fix Pack "1".

DB2_COMPATIBILITY_VECTOR=ORA поставил.
...
Рейтинг: 0 / 0
19.10.2010, 18:12
    #36908375
mustaccio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PLSQL in .NET
Абсолют,

Никак не заставить, потому что set sqlcompat - это команда CLP. Можно узнать, зачем вам это нужно?
...
Рейтинг: 0 / 0
19.10.2010, 21:30
    #36908639
Абсолют
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PLSQL in .NET
mustaccioАбсолют,

Никак не заставить, потому что set sqlcompat - это команда CLP. Можно узнать, зачем вам это нужно?

Здравствуйте!

А как заранить скрипт тогда процедуры с PLSQL body?

Мне нужно сделать полную поддержку языка PLSQL, в процедурах, которые будут ранится из обычного редактора. И все на дотнете. Если нужно использовать DB2 api, то ладно, тогда укажите, что читать.
...
Рейтинг: 0 / 0
19.10.2010, 21:49
    #36908660
Абсолют
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PLSQL in .NET
mustaccioАбсолют,

Никак не заставить, потому что set sqlcompat - это команда CLP. Можно узнать, зачем вам это нужно?

Можно без него, что ли обходится?

Скажем так, дали скрипт, там вот такой стэйтмент. С PLSQL имею дело первый раз и особо не разбирался с синтаксисом, особенно под конец рабочего дня.
...
Рейтинг: 0 / 0
20.10.2010, 06:59
    #36908780
mustaccio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PLSQL in .NET
Тут, видите ли, вот какая загогулина:

скрипт ---> командный процессор ---> SQL ---> ядро СУБД

В скрипте могут содержаться директивы для командного процессора (КП) и предложения языка SQL. КП исполняет свои директивы, а предложения SQL отправляет по инстанции. "set sqlcompat plsql" - директива для конкретного КП (DB2 CLP), сообщающая, что последующий набор строк нужно разбирать, как последовательность предложений PL/SQL.

Ваша программа на .НЕТ играет роль командного процессора, который посылает предложения SQL в СУБД и обрабатывает полученные результаты. Если вы хотите обрабатывать скрипты, предназначенные для _другого_ КП, вам нужно отделять мух от котлет (SQL от директив КП) и игнорировать последние, а первые - отправлять дальше.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / PLSQL in .NET / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]