Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / CLOB c азиатскими символами / 9 сообщений из 9, страница 1 из 1
16.07.2007, 12:59
    #34660812
db2zos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB c азиатскими символами
Может кто встречался с проблемой...

В DB2 на z/OS создана таблица с колонкой CLOB. При создании таблицы указана ССSID UNICODE -

Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE TABLE CLOBTESTUC (C1 CLOB)
      IN UCTEST.TBSTUC
      CCSID UNICODE!
    
INSERT INTO CLOBTESTUC VALUES (x'4AC3BC7267656E')!
INSERT INTO CLOBTESTUC VALUES (x'E69E97')!

В таблицу добавлены 2 строки, первая сторка "Jurgen" (второй символ это немецкий U c точками), вторая строка - китайский символ.

Проблема: в клиетнском приложении, а так же при просмотре таблицы в db2 CC символы во второй строке не отображаются (пустая строка).

PS: на виндусовой базе такая проблема не наблюдается, более того, если в базе на z/os вместо CLOB использовать VARCHAR, то отображается нормально.
...
Рейтинг: 0 / 0
16.07.2007, 13:00
    #34660815
db2zos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB c азиатскими символами
База DB2 for z/OS v8.1
...
Рейтинг: 0 / 0
16.07.2007, 16:40
    #34661888
CLOB c азиатскими символами
Похоже проблема не с DB2 for z/OS, а с DB2 Control Center и поддержкой типа данных CLOB в нем.
Он кстати даже в версии 9 использует DB2 Legacy Driver.

Если получать данные через DB2 JDBC Universal Driver, то все на месте.
Специально попробовал через DB2 Developer Workbench 9.1 и через Squirel SQL Client

А клиентское приложение на чем написано?
Если на JDBC то какой драйвер использует?
...
Рейтинг: 0 / 0
16.07.2007, 17:09
    #34662036
db2zos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB c азиатскими символами
Евгений ХабаровПохоже проблема не с DB2 for z/OS, а с DB2 Control Center и поддержкой типа данных CLOB в нем.
Он кстати даже в версии 9 использует DB2 Legacy Driver.

Если получать данные через DB2 JDBC Universal Driver, то все на месте.
Специально попробовал через DB2 Developer Workbench 9.1 и через Squirel SQL Client

А клиентское приложение на чем написано?
Если на JDBC то какой драйвер использует?

Клиент работает через OLE DB2 provider.

авторПохоже проблема не с DB2 for z/OS, а с DB2 Control Center и поддержкой типа данных CLOB в нем.
Не понятно то, что работает нормально при просмотре CLOBа из DB2 for windows, но при этом из под zos нет
...
Рейтинг: 0 / 0
16.07.2007, 17:43
    #34662153
CLOB c азиатскими символами
Версия и фикспак клиента DB2?

И если можно, то минимальный пример (исходник) на OLEDB, т.к. сам пишу или на CLI или на JDBC/SQLJ.

Кстати можно на клиенте запустить трассу и посмотреть что приходит с z/OS.
Если с z/OS приходит пустая строка - нужно смотреть что не так с базой, иначе нужно смотреть что не так на клиенте.
...
Рейтинг: 0 / 0
17.07.2007, 09:52
    #34662995
db2zos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB c азиатскими символами
Евгений ХабаровВерсия и фикспак клиента DB2?

И если можно, то минимальный пример (исходник) на OLEDB, т.к. сам пишу или на CLI или на JDBC/SQLJ.

Кстати можно на клиенте запустить трассу и посмотреть что приходит с z/OS.
Если с z/OS приходит пустая строка - нужно смотреть что не так с базой, иначе нужно смотреть что не так на клиенте.

DB2 Клиент -

Код: plaintext
1.
2.
3.
4.
DB21085I  Экземпляр "DB2" использует "32" бит и выпуск DB2 "SQL08020" с 
идентификатором уровня "03010106".
Информационные элементы суть "DB2 v8.1.7.445", "s040812", "WR21342", а также 
пакет исправлений "7".
Продукт установлен в "C:\DB2\SQLLIB".

Вызываем так -

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
var objConn = Server.CreateObject("ADODB.Connection");
var strConn = "Provider=IBMDADB2;Hostname=ххх.ххх.ххх.ххх;User ID=ххх;Password=ххх;Data source=ххх";
var objRs;
var theCommand;

objConn.Open(strConn);
objRs = objConn.execute("select c1 from clobtestuc");

while (!objRs.EOF)
{
    Response.Write('<BR>cl clobtestuc : '+ objRs.Fields("c1"));
    objRs.MoveNext();
}
objRs.Close();
objConn.Close();

Уточнение : вместо китайских иероглифов, не пустые строки, а "квадратики". При запросе из таблицы с колонкой VARCHAR отображаются нормально.
...
Рейтинг: 0 / 0
17.07.2007, 09:58
    #34663020
db2zos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB c азиатскими символами
test.asp

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
<%@ LANGUAGE=JavaScript Codepage= 65001  %>
<head>

</head>

<body >


<%
Response.Charset  = "utf-8";
var adParamUnknown = 0x0000;
var adParamInput = 0x0001;
var adParamOutput = 0x0002;
var adParamInputOutput = 0x0003;
var adParamReturnValue = 0x0004;
var adCmdUnknown = 0x0008;
var adCmdText = 0x0001;
var adCmdTable = 0x0002;
var adCmdStoredProc = 0x0004;
var adCmdFile = 0x0100;
var adCmdTableDirect = 0x0200;
try
{
    var objConn = Server.CreateObject("ADODB.Connection");
    var strConn = "Provider=IBMDADB2;Hostname=xxx.xxx.xxx.xxx;User ID=xxx;Password=xxx;Data source=xxx";
    var objRs;
    var theCommand;

    Response.Write('<BR>before execute new2 ');
    var sqltext;
    sqltext = new String(Request.Form("txtinput"));
    Response.Write('<BR>');

    var sqlcmd;

    Response.Write('<BR>Connection opened<BR>');
    objConn.Open(strConn);
    objRs = objConn.execute("select c1 from clobtestuc");

    while (!objRs.EOF)
    {
        Response.Write('<BR>cl clobtestuc : '+ objRs.Fields("c1"));
        objRs.MoveNext();
    }
    objRs.Close();
    objConn.Close();
    Response.Write('<BR>Connection closed');
}
catch (e)
{
  Response.write('<BR><BR><BR>error:  ');
  Response.Write(e.message);
}
%>


</body>

</html>
...
Рейтинг: 0 / 0
18.07.2007, 18:08
    #34668245
db2zos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CLOB c азиатскими символами
кто-нибудь направьте
...
Рейтинг: 0 / 0
19.07.2007, 09:34
    #34668975
CLOB c азиатскими символами
Я уже предлагал, включи трассировку на клиенте и сравни что возвращается от одной СУБД, а что от другой.
Будет время - поэкспериментирую на своей конфигурации.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / CLOB c азиатскими символами / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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