Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Проблема следующая: В делфи через АДО добавляю запись в таблицу. Поля типа char/varchar (без разницы) всегда дополняются пробелами до своей максимальной длины независимо от длины текста в поле. Проблема не в Делфи, так как на другом компьютере все работает нормально. Может нужно какие-то патчи ставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 17:38 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Может они так просто отображаются? а хранятся нормально, урезано. Как Вы узнали, что они дополняются пробелами? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 17:46 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Нет, они именно в базе дополняются пробелами. А посмотрел Sybase Central'om:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 17:55 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Filimonenko SergeyМожет нужно какие-то патчи ставить? Документацию надо читать: BOL Ignore trailing blanks in comparisons When building an Adaptive Server Enterprise-compatible database using Adaptive Server Anywhere, choose the option to ignore trailing blanks in comparisons. If you are using Sybase Central, this option is in the Create Database wizard. If you are using the dbinit command line utility, specify the -b command-line switch. When you choose this option, Adaptive Server Enterprise and Adaptive Server Anywhere considers the following two strings equal: 'ignore the trailing blanks ' 'ignore the trailing blanks'If you do not choose this option, Adaptive Server Anywhere considers the two strings above different. A side effect of this choosing this option is that strings are padded with blanks when fetched by a client application. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 18:09 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Ну наверное не ASE 9, а ASA9 :). Столкнулся с такой проблемой с ранними версиями ASA - 5 и 6. Правдо только для char. После изменения на varchar и обрезания пробелов все заработало как часы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 18:41 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Да я ошибся, действительно ASA9, а не ASE Но в таблице присутствуют как char так и varchar и что для тех, что для других все дополняется пробелами. Что до ignore the trailing blanks: насколько я понимаю это только при сравнении с другими строками, а ведь в базе то оно все-равно будет храниться с концевыми пробелами. З.Ы. Можно ли этот параметр изменить на уже существующей базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 19:00 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Filimonenko Sergey Что до ignore the trailing blanks: насколько я понимаю это только при сравнении с другими строками, а ведь в базе то оно все-равно будет храниться с концевыми пробелами. Нет. Оно будет хранится так, как эти данные туда посланы. А дополнятся будут пробелами всегда при отдаче данных клиенту. Читай внимательнее. Я тебе специально красненьким выделил. Filimonenko SergeyЗ.Ы. Можно ли этот параметр изменить на уже существующей базе? Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 22:50 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
Хи ! Насколко я понял со своим скудным английским в доке по 9 про чары разного рода(Adaptive Server Anywhere treats CHAR, VARCHAR, and LONG VARCHAR columns all as the same type) написано следующее : все типы с длинной до 254 хранятся как простой стринг + байт на длинну(Values up to 254 characters are stored as short strings, with a preceding length byte) все остальное хранится отдельно незаполненные позиции заполняются пробелами (в области до 254 символа) много байтовые раскладки при указании длинны имеют смысл в байтах , а не чарах. еще в доке по 9 есть интересная фраза :(In many other database-management systems, unlike Adaptive Server Anywhere, CHAR data types result in blank padding to the full length of the string. This means that they require max-length bytes of storage, regardless of the length of the actual string. ) т.е. они намекают на то что стринги у них мусором не заполняются, прямо об этом они не говорят. Поскольу пользуюсь сайбезными продуктами про прочее сказать не могу, но если в базу(char(30)) положил 'string ', то и читаю его же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2005, 10:22 |
|
||
|
ASE 9 проблема с полями char/varchar
|
|||
|---|---|---|---|
|
#18+
sorry опечатался малость незаполненные позиции заполняются пробелами (в области до 254 символа) должно быть : незаполненные позиции не заполняются пробелами но место занимают (в области до 254 символа) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2005, 10:24 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32997477&tid=2013735]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 335ms |

| 0 / 0 |
