Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + MSSQL + поля типа NTEXT / 4 сообщений из 4, страница 1 из 1
27.02.2003, 09:16
    #32111861
rozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MSSQL + поля типа NTEXT
Проблема в следующем. Имеется запрос, возвращающий в том числе и поле типа NTEXT (специфика такова, что там действительно многоязыковое содержимое).
Сервер на котором работает и SQL-сервер и Delphi-программа чисто-американский.

Проблема в том, что Дельфи получая результат такого запроса обрабатывает возвращеный результат как TMemoField и значения из него преобразует к AnsiString и выдает "на гора" в виде именно AnsiString.
Естественно, что все Unicode-разнообразие "мапится" в основной набор ANSI-символов и много чего заменяется знаками '?'

Вопрос -- как извлечь в Дельфи содержимое поля типа NTEXT напрямую в WideString без промежуточного преобразования в ANSI-текст, приводящего к потерям смысла?

Рассматривался вариант сделать некую кодирующую функцию на сервере, преобразующую NTEXT в некий промежуточный формат. Не подходит из-за ограничений на длину возвращаемого поля типа VARCHAR
...
Рейтинг: 0 / 0
27.02.2003, 09:58
    #32111889
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MSSQL + поля типа NTEXT
Попробуй присвоить Field.AsVariant в переменную типа Variant, а потом проанализируй тип. Если varOleStr, то все не так безнадежно, можно сразу присваивать Field.AsVariant в WideString переменную.
...
Рейтинг: 0 / 0
27.02.2003, 10:02
    #32111893
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MSSQL + поля типа NTEXT
Только что ты будешь с этим делать? При выводе на экран, unicode-строка будет все равно преобразовываться в обычную, основываясь на региональных настройках, заменяя неподпадающие под рег. настройки символы знаком вопроса. Наличие UNICODE-шрифта с полным набором символов, правда, может выручить. Но это редкость.
...
Рейтинг: 0 / 0
28.02.2003, 07:19
    #32112443
rozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MSSQL + поля типа NTEXT
Что с этим делать -- я знаю. Отображаться текст будет на той же самой станции, откуда он был введен в базу. И на многих других, которые тоже запросто могут с этим работать.

Сообщения "насквозь" проходят замечательно -- и на макинтоше и на пи-си и в дельфи-клиенте и в любом ява-клиенте нормально выводятся на экран символы латинского, греческого, западноевропейского, русского алфавитов ОДНОВРЕМЕННО. А вот из базы дельфи-приложением не читаются :(
А asp-скриптом читаются на ура :(

Кстати, совет с Variant оказался не рабочим -- vartype(MyMemoField.AsVariant) возвращает 256 = varString.
TBlobField тоже не работает....
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + MSSQL + поля типа NTEXT / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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