#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"
...