SLES 11 sp3 환경에서 HANA Smart Data Access를 설정하려고 합니다. HANA가 외부 데이터 소스와 통신하려면 unixODBC 2.3.0이 Microsoft ODBC Driver 11 for SQL Server 2012와 함께 필요합니다(MS SQL 서버 데이터베이스에 연결하려고 하기 때문에). 내 /etc 디렉토리에는 odbc.ini 및 odbcinst.ini가 있고 내 홈 디렉토리에는 .odbc.ini가 있습니다. 지금까지의 모든 예를 바탕으로 보면 올바르게 구성된 것으로 보입니다(잘못 구성되었을 때 해당 오류가 표시되었으며 이후 해결되었습니다).
이제 odbc.ini 파일에 나열된 데이터 소스에 연결하려고 할 때만 반환되는 새로운 오류가 발생합니다.
"'std::runtime_error' 인스턴스 발생 후 what() 종료 호출: locale::facet::_S_create_c_locale 이름이 유효하지 않음 중단"
지금까지 이 문제를 해결하기 위한 나의 시도에는 ssh가 로컬 환경 변수를 보내지 못하도록 ssh_config 파일을 변경하고, LC_ALL을 en_US.UTF-8 및 LANG=en_US로 설정하고, LC_ALL을 c로 설정하고, 그 사이의 다양한 조합이 포함됩니다. en_US.UTF-8, POSIX 및 c가 모두 설치되었는지 확인하기 위해 locale -a를 사용했습니다. 여기에서 부스트 문제에 대한 참조를 찾았습니다.https://svn.boost.org/trac/boost/ticket/4688그러나 이것은 5년이 지났고 영향은 11이 아닌 SLES 10으로 나열됩니다.
답변1
이 문제가 있었는데 en_US.UTF-8 로케일을 설치하자 문제가 사라졌습니다.
unixodbc 및 sqlcmd를 실행하는 컴퓨터에 소프트웨어가 설치되어 있는지 확인하십시오.
https://community.spiceworks.com/how_to/78224-install-the-ms-sql-odbc-driver-on-debian-7