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

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

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

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

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

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


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