powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос к таблице с использованием русских букв
11 сообщений из 11, страница 1 из 1
Запрос к таблице с использованием русских букв
    #32136008
Siv Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Имею БД на IB 5.6. Когда делаю запрос:

select depo_id1, depo_id2, c_id, depo_ul_name_short, depo_fl_name
from depo_man
where depo_id1="Д"

то выдает ошибку:
Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
Cannot transliterate character between character sets.

Ежели поменять запрос на:

select depo_id1, depo_id2, c_id, depo_ul_name_short, depo_fl_name
from depo_man
where depo_id1<>"Д"

или на запрос к другому полю, где используются английские буквы, то все в порядке.
Приведу структуру таблицы:
CREATE TABLE DEPO_MAN (
DEPO_ID CHAR(6) NOT NULL,
DEPO_ID1 CHAR(1),
DEPO_ID2 CHAR(1) NOT NULL,
DEPO_UL_NAME CHAR(70),
DEPO_UL_NAME_SHORT CHAR(35),
STATUS_UL_ID CHAR(2),
DEPO_UL_OKONX VARCHAR(6),
DEPO_FL_NAME VARCHAR(30),
DEPO_FL_FIRST_NAME VARCHAR(20),
DEPO_FL_SECOND_NAME VARCHAR(20),
DEPO_DOC_SPR_SERIAL CHAR(12),
DEPO_DOC_SPR_NUM CHAR(12) NOT NULL,
DEPO_DOC_SPR_DATE DATE NOT NULL,
C_ID CHAR(3) NOT NULL,
DEPO_UL_TORG_NUM CHAR(12),
DEPO_UL_TORG_DATE DATE,
COUNTRY_ID CHAR(3) NOT NULL,
POST_INDEX CHAR(8),
COUNTRY_ID_1 CHAR(3),
POST_INDEX_1 CHAR(8),
AREA_ID_1 CHAR(3),
BANK_ID CHAR(9),
DEPO_BILL_MONEY VARCHAR(20),
DEPO_UL_MONEY_CODE CHAR(3),
DEPO_DATE DATE NOT NULL,
EXT_MSG BLOB SUB_TYPE 1 SEGMENT SIZE 80,
AREA_ID CHAR(3),
DEPO_UL_MONEY_FIRST DOUBLE PRECISION,
DEPO_UL_EGRPOU VARCHAR(10),
BLOKIR CHAR(1),
NALOG_CODE CHAR(12),
DOGOVOR_NUM CHAR(12),
DOGOVOR_DATE DATE,
DOC_SPR_ID INTEGER NOT NULL,
DOC_WHY_ID INTEGER NOT NULL,
REGION_ID INTEGER,
REGION_ID_1 INTEGER,
TOWN_ID INTEGER,
TOWN_ID_1 INTEGER,
PROFESSION_ID INTEGER,
WRITE_OUT_ID INTEGER,
FORM_PAY_ID INTEGER,
CATEGORY_TAX_ID INTEGER,
STR_ADDR CHAR(72),
STR_ADDR_1 CHAR(72),
KT_ID INTEGER,
DIV_KIND D_BOOL01N DEFAULT 1,
KOD_NDU CHAR(10),
KIND_DEPO_ID CHAR(3)
);
Это глюк ИнтерБазы или нет? Как это пофиксить?
Заранее благодарен.
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136012
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это связано с неправильной установкой кодировки при подключении к базе.
Чем запрос выполняете ?
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136018
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы выяснить кодировку базы спросите её
select * from rdb$database, в последнией колонке - кодировка.
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136037
Siv Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IB Expert'om.
Выполнил запрос:
RDB$CHARACTER_SET_NAME=WIN1251,
вроде правильно.
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136044
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если так :
select depo_id1, depo_id2, c_id, depo_ul_name_short, depo_fl_name
from depo_man
where depo_id1='Д' ?

и всётаки, чем подключаетесь к серверу ?
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136363
Siv Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совершенно одинаково - та же ошибка.

Вроде ответил уже, но еще повторюсь - пользуюсь IB Expert.
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136372
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте снова установки ServerVersion, Кодировка, Font Characterы Set.
За IBExpertom таких глюков не замечено.
Еще ... проверьте скрипт самой таблицы. Может там другая кодировка именно для этой таблицы/поля указана ?
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136429
Siv Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEPO_ID1 CHAR(1) CHARACTER SET WIN1251 COLLATE WIN1251
Вроде все в порядке. Да и версия сервера осталась таже.
Дело в том, что эта проблемма не только в IB Expert, если делать запрос из проги на C++ Builder таже проблемма.
Как же это фиксится?
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32136452
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хотите - бросьте скрипт базы на sedov_home@inbox.ru
в обед посмотрю
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32137132
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй поставить Collate PXW_CYRL. Был случай когда из-за этого не работал Upper. Насколько я помню, разговор на эту тему был с ndn
...
Рейтинг: 0 / 0
Запрос к таблице с использованием русских букв
    #32137850
Bohdan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это твой таблица
Код: 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.
CREATE TABLE DEPO_MAN ( 
DEPO_ID CHAR( 6 ) NOT NULL, 
DEPO_ID1 CHAR( 1 ), 
DEPO_ID2 CHAR( 1 ) NOT NULL, 
DEPO_UL_NAME CHAR( 70 ), 
DEPO_UL_NAME_SHORT CHAR( 35 ), 
STATUS_UL_ID CHAR( 2 ), 
DEPO_UL_OKONX VARCHAR( 6 ), 
DEPO_FL_NAME VARCHAR( 30 ), 
DEPO_FL_FIRST_NAME VARCHAR( 20 ), 
DEPO_FL_SECOND_NAME VARCHAR( 20 ), 
DEPO_DOC_SPR_SERIAL CHAR( 12 ), 
DEPO_DOC_SPR_NUM CHAR( 12 ) NOT NULL, 
DEPO_DOC_SPR_DATE DATE NOT NULL, 
C_ID CHAR( 3 ) NOT NULL, 
DEPO_UL_TORG_NUM CHAR( 12 ), 
DEPO_UL_TORG_DATE DATE, 
COUNTRY_ID CHAR( 3 ) NOT NULL, 
POST_INDEX CHAR( 8 ), 
COUNTRY_ID_1 CHAR( 3 ), 
POST_INDEX_1 CHAR( 8 ), 
AREA_ID_1 CHAR( 3 ), 
BANK_ID CHAR( 9 ), 
DEPO_BILL_MONEY VARCHAR( 20 ), 
DEPO_UL_MONEY_CODE CHAR( 3 ), 
DEPO_DATE DATE NOT NULL, 
EXT_MSG BLOB SUB_TYPE  1  SEGMENT SIZE  80 , 
AREA_ID CHAR( 3 ), 
DEPO_UL_MONEY_FIRST DOUBLE PRECISION, 
DEPO_UL_EGRPOU VARCHAR( 10 ), 
BLOKIR CHAR( 1 ), 
NALOG_CODE CHAR( 12 ), 
DOGOVOR_NUM CHAR( 12 ), 
DOGOVOR_DATE DATE, 
DOC_SPR_ID INTEGER NOT NULL, 
DOC_WHY_ID INTEGER NOT NULL, 
REGION_ID INTEGER, 
REGION_ID_1 INTEGER, 
TOWN_ID INTEGER, 
TOWN_ID_1 INTEGER, 
PROFESSION_ID INTEGER, 
WRITE_OUT_ID INTEGER, 
FORM_PAY_ID INTEGER, 
CATEGORY_TAX_ID INTEGER, 
STR_ADDR CHAR( 72 ), 
STR_ADDR_1 CHAR( 72 ), 
KT_ID INTEGER, 
DIV_KIND D_BOOL01N DEFAULT  1 , 
KOD_NDU CHAR( 10 ), 
KIND_DEPO_ID CHAR( 3 ) ); 


так вот третья строка снизу неверна
мой IBexpert выдает ошубку -607(некоректная модификация метаданных)
просмотри внимательнее таблицу и выложи нормальный вариант, авось помогу
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос к таблице с использованием русских букв
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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