sqlcmd сталкивается с проблемами преобразования unicode на SLES12SP5

#sql-server #sqlcmd #sles

#sql-сервер #sqlcmd #sles

Вопрос:

У меня запущен контейнер docker SLES12-SP5, и я следовал инструкциям здесь: https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15#suse17 для установки mssql-tools.

Когда я пытаюсь запустить mssql-tools, я получаю следующую ошибку:

 c1dd384365b5:/ # /opt/mssql-tools/bin/sqlcmd
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Driver's SQLAllocHandle on SQL_HANDLE_HENV failed.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Can't initiate unicode conversion.
  

Есть ли параметр, который я упускаю?

Комментарии:

1. Сломанный iconv? В вашем пароле нет символов ASCII?

2. Я не дохожу до той части, где я ввожу пароль SQL Server. Что касается iconv, у меня установлена версия 2.22 в моем контейнере.: c1dd384365b5:/ # /usr /bin /iconv —версия iconv (GNU libc) 2.22 Copyright (C) 2015 Free Software Foundation, Inc. Это бесплатное программное обеспечение; условия копирования см. в источнике. Гарантии нет; даже на ТОВАРНУЮ ПРИГОДНОСТЬ или ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Написано Ульрихом Дреппером.

Ответ №1:

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

Установите / переустановите драйвер Microsoft ODBC 17 для драйвера ODBC SQL Server

Официальная ссылка для скачивания Microsoft (Windows, Linux, OSX):https://www.microsoft.com/en-us/download/details.aspx?id=56567

Документация https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15

Ответ №2:

Убедитесь, что пакет glibc-locale установлен. Вы также можете проверить вывод locale команды.

Перед:

 LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
...
  

После:

 LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
...