Сохранение текстовых данных в SQL Server из LabVIEW

Работа с файлами и базами данных
Ответить
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение AlexRX »

Здравствуйте!

Проблема в следующем...
VI общается с БД на MS SQL Server через связку DataBase Connectivity ToolKit -> ODBC-клиент для SQL Server. В БД имеется таблица с полем типа nchar, в котором записаны данные как кириллицей, так и латиницей. Читая эти данные в LabVIEW, я их вижу в том виде, в каком они были записаны (т.е. корректно, без проблем с кодировкой). Но, если я добавляю строку в таблицу БД из LabView через блок DB Tools Insert Data, то в таблице записываются некие символы (их видно в SQL Server Management Studio), но никак не осмысленный текст, независимо от того как вводить текст - латиницей или кириллицей. В чем проблема, в ODBC? Кто нибудь сталкивался?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение IvanLis »

Из :labview: с БД не работал
Но судя по всему у вас не совпадают кодировки.
Т.е. вы записываете текст в одной кодировке, а БД имеет по умолчанию другую.

А при просмотре уже записанной информации, кодировка может на одном из этапов автоматом определяться и преобразовываться.
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение AlexRX »

подозреваю то же самое, поэтому при конфигурировании DSN-файла для соединения с БД убрал галочку с пункта "Выполнять перевод символьных данных", но увы... искать надо в другом месте
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение IvanLis »

какая кодировка используется в БД по умолчанию?
попробуйте определить кодировку в которой возвращается информация
есть online декодеры используйте их
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение AlexRX »

Вот цитата из справки на SQL Server: "Данные на нескольких языках следует всегда хранить в Юникоде (nchar, nvarchar и ntext), а не использовать другие типы данных (char, varchar и text)". Т.к. я определил тип nchar, следовательно - использую Юникод, а вот из LabView пишу... скорее всего нет. Разбираюсь.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение IvanLis »

AlexRX писал(а):использую Юникод, а вот из LabView пишу... скорее всего нет. Разбираюсь.
:labview: на сколько помню с кириллицей работает
Unicode and LabVIEW
Unicode is not officially supported by the LabVIEW environment, but there is basic support of Unicode available as described in this document. Unicode can support a wide range of characters from many different languages in the same application.
A List of Tips and Tools for using Unicode in LabVIEW
Unicode.llb
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение AlexRX »

Спасибо!
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение AlexRX »

Для моей задачи оказалось достаточным не использовать Юникод. Заменил тип данных поля в таблице БД на varchar, внимательно прочитав 4 раздел мануала Database Connectivity Toolkit (Supported Data Types) и проблема исчезла.
Foton
interested
interested
Сообщения: 7
Зарегистрирован: 06 май 2012, 09:47
Версия LabVIEW: 11.0.1
Контактная информация:

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение Foton »

Здравствуйте, помогите пожалуйста, кто ни будь может дать пример исполнения программы на передачу данных из лабвью в SQL сервер через блок DB Tools Insert Data?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Сохранение текстовых данных в SQL Server из LabVIEW

Сообщение IvanLis »

Foton писал(а):Здравствуйте, помогите пожалуйста, кто ни будь может дать пример исполнения программы на передачу данных из лабвью в SQL сервер через блок DB Tools Insert Data?
LabVIEW Database Connectivity Toolkit User Manual, там есть примеры
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»