powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Сконвертить базу cp1251 → UTF-8
2 сообщений из 2, страница 1 из 1
Сконвертить базу cp1251 → UTF-8
    #36521601
Фотография dvska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги

Подскажите наименее трудозатратный способ конвертации БД из кодировки Win-1251 в UTF-8
(DB2 v9.5 fp4 Win2003, сотни таблиц)

Пока вижу вариант --
скриптом пробежаться по "SYSCAT"."COLUMNS" и нагенерить ALTER TABLE ttt ALTER COLUMN ttt_col1 SET DATA TYPE VARCHAR ( old_len * 2 );

затем смигрировать данные import-ами.
...
Рейтинг: 0 / 0
Сконвертить базу cp1251 → UTF-8
    #36521985
Фотография dvska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Расширитель" текстовых столбцов (Python)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
# -*- coding: UTF- 8  -*-
import pyodbc

SCHEMAS = ('NSI','NSITEMP','NSICTRL',)

cur = pyodbc.connect('DSN=nsiii').cursor()
cur.execute('''
    select rtrim(TABSCHEMA), TABNAME, COLNAME, TYPENAME, LENGTH
    from SYSCAT.COLUMNS
    where TABSCHEMA in (%s) and TYPENAME in ('CHARACTER','VARCHAR')''' %
    ','.join("'%s'"% sch for sch in SCHEMAS)  )

for TABSCHEMA, TABNAME, COLNAME, TYPENAME, LENGTH in cur.fetchall():
    print('ALTER TABLE %s.%s ALTER COLUMN %s SET DATA TYPE %s(%d);' %
          (TABSCHEMA, TABNAME, COLNAME, TYPENAME, LENGTH* 2 )            )
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Сконвертить базу cp1251 → UTF-8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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