Unicode в sqsh для подключения к MSSQL (или альтернативам) - PullRequest
7 голосов
/ 28 декабря 2010

У меня есть база данных MSSQL, которая содержит данные Unicode (utf8). Моя рабочая станция Linux (в настоящее время Ubuntu) и ищет инструмент для работы с базой данных mssql, я нашел SQSH. Проблема в том, что когда я выбираю данные в консоли sqsh, вместо символов юникода я получаю толкование. Использование переключателя "-J utf8" или "-J utf-8" ничего не изменило.

Вопрос в том, как настроить sqsh для работы с данными utf-8?

Если это невозможно, знаете ли вы какие-либо альтернативные инструменты, используемые из linux для работы с базами данных mssql, заполненными данными utf-8. Мне нужно выполнить все виды T-SQL, запустить предварительно подготовленные файлы сценариев SQL и передать результаты для последующей обработки. Можно также использовать хороший графический интерфейс (с открытым исходным кодом), не ограничиваясь только клиентами оболочки.

Ответы [ 4 ]

0 голосов
/ 23 февраля 2019

У меня была такая же проблема, и, похоже, она не имеет ничего общего с кодировкой charchters, но проблема заключалась в том, что в скрипте были управляющие символы, непечатаемые символы.

Я удалил их из скрипта sql и все работает нормально.

0 голосов
/ 12 февраля 2019

Используйте Azure Data Studio , чтобы избежать проблемы устранения неполадок с данными. это отличная альтернатива SSMS для Linux.

0 голосов
/ 17 февраля 2019

Если вам нужен инструмент командной строки, я предлагаю использовать официальные sqlcmd из mssql-tools. Он доступен для всех основных дистрибутивов Linux, включая Ubuntu.

Соединение с sqlcmd


Другой инструмент оболочки - mssql-cli

Особенности

Mssql-cli - это новый интерактивный инструмент командной строки, который обеспечивает следующие ключевые улучшения по сравнению с sqlcmd в среде терминала:

  • T-SQL IntelliSense
  • Подсветка синтаксиса
  • Хорошее форматирование результатов запроса, включая вертикальный формат
  • Режим многострочного редактирования
  • Поддержка файла конфигурации
0 голосов
/ 27 сентября 2011

Вы используете freetds с sqsh? Если да, отредактируйте ваш freetds.conf, чтобы установить кодировку.

http://www.freetds.org/userguide/localization.htm

...