|
|
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
А можно еще вопросик? Имеется таблица: PIN SMALLINT NOT NULL, USER_NAME VARCHAR(10) CHARACTER SET WIN1251, USER_PASSWORD VARCHAR(10) CHARACTER SET WIN1251, LAST_NAME VARCHAR(30) CHARACTER SET WIN1251, FIRST_NAME VARCHAR(30) CHARACTER SET WIN1251, MIDDLE_NAME VARCHAR(30) CHARACTER SET WIN1251, IS_REMOVED CHAR(1) CHARACTER SET WIN1251, PRIMARY KEY (PIN)); В таблице есть данные на одного человека После выполнения запроса: insert into User_Security values (1108,'','','','','',''), то результат запроса select * from User_Security выглядит так: PIN USER_NAME USER_PASSWORD LAST_NAME FIRST_NAME MIDDLE_NAME IS_REMOVED ====== ========== ====================== ============ =============== ================== ========== 1123 <null> brashpil Космакова Надежда Владимировна N 1108 А, если я пытаюсь выполнить следующий запрос: insert into User_Security values (1108,'','6238','Никифорцев','Иван','Валерьевич','') то выдается след. ошибка: Statement failed, SQLCODE = -802 arithmetic exception, numeric overflow, or string truncation -Cannot transliterate character between character sets Я знаю, что такой запрос нормально работал бы в Access, а как его правильно написать в InterBase? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 17:41 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
PIN SMALLINT NOT NULL, USER_NAME VARCHAR(10) CHARACTER SET WIN1251, USER_PASSWORD VARCHAR(10) CHARACTER SET WIN1251, LAST_NAME VARCHAR(30) CHARACTER SET WIN1251, FIRST_NAME VARCHAR(30) CHARACTER SET WIN1251, MIDDLE_NAME VARCHAR(30) CHARACTER SET WIN1251, IS_REMOVED CHAR(1) CHARACTER SET WIN1251, PRIMARY KEY (PIN)); Интересно, а что будет если взапросе явно указывать имена полей Insert into User_Security(pin, USER_NAME,....etc.,IS_REMOVED) values ("your values") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 17:54 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
insert into User_Security (PIN,USER_NAME,USER_PASSWORD, LAST_NAME, FIRST_NAME,MIDDLE_NAME,IS_REMOVED) values (1108,'','6238','Никифорцев','Иван','Валерьевич','') та же ошибка: Statement failed, SQLCODE = -802 arithmetic exception, numeric overflow, or string truncation -Cannot transliterate character between character sets ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:01 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Скорее всего в параметрах соединения с сервером указана кодировка HE WIN1251 или же вообще не указана; поэтому, когда пытаемся вставить в поля с 1251-кодировкой символы из другой кодировки, оно и ругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:11 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
session->Advanced Settings->Cрaracter Set On:WIN1251. Это я сразу указала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:29 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Хотя, если все данные, которые были на русском, написать по-английски, все работает ижеально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:30 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
ISQL Version: WI-V5.5.0.742 InterBase/x86/Windows NT (access method), version "WI-V5.6.0.29" on disk structure version 9.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:33 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Ага, то есть указывается соединение с кодировкой 1251, но работа идет из командной строки, где по-моему кодировка ср866... Проверь все-таки, просто эта ошибка вылазит всегда, когда напутано с кодировками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:38 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Так как выдается сообщение -Cannot transliterate character between character sets то, возможно, не задан масcив перекодировки и имя кодировки, как, напрмер, в других СУБД: CREATE [OR REPLACE] TRANSLATION <имя трансляции> FOR <имя исходной кодировки> TO <имя целевой кодировки> EXTERNAL (<массив трансляции>) SET DATABASE DEFAULT CHARACTER SET <имя кодировки> авторЯ знаю, что такой запрос нормально работал бы в Access, а как его правильно написать в InterBase? Возможно, в Access по умолчанию используется именно тот массив перекодировки, какой нужен для выполненя приведенного запроса, а в Interbase - другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:39 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Все заработало. В настройках локализации сделали Set As Default на Russia и перегрузились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:45 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Кодовая страница должна указываться ДО соединения с БД, а не после ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:45 |
|
||
|
Еще вопросик
|
|||
|---|---|---|---|
|
#18+
Не знаю, действительно ли дело было в этом, но ведь помогло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:46 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=483&tid=1579091]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 349ms |

| 0 / 0 |
