Невозможно соединить код Microsoft SQL-Server и Visual Studio

Я только что установил MSSQL 2017 для Linux и код Visual Studio для Linux на своем компьютере с Ubuntu 18.10. Обе установки прошли успешно, но я не могу подключиться из Visual Studio к БД.

У меня есть следующие работающие драйверы:

$ odbcinst -j

    unixODBC 2.3.7
    DRIVERS............: /etc/odbcinst.ini
    SYSTEM DATA SOURCES: /etc/odbc.ini
    FILE DATA SOURCES..: /etc/ODBCDataSources
    USER DATA SOURCES..: /home/neo4j/.odbc.ini
    SQLULEN Size.......: 8
    SQLLEN Size........: 8
    SQLSETPOSIROW Size.: 8

но когда я пытаюсь установить

$ sudo apt-get установить mssql-tools unixodbc-dev

Я получаю следующую ошибку:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mssql-tools : Depends: msodbcsql17 (>= 17.3.0.0) but it is not going to be installed
               Depends: msodbcsql17 (< 17.4.0.0) but it is not going to be installed
 unixodbc-dev : Depends: unixodbc (= 2.3.7)
E: Unable to correct problems, you have held broken packages.

после долгих поисков я нашел много предложений, но они не запускаются, как, например, попытка удалить msodbcsql и unixodbc

$ sudo apt-get remove msodbcsql

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'msodbcsql' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

На данный момент я заблокирован и не могу идти вперед.

У кого-нибудь есть работающее решение?

2 ответа

Решение

Попробуйте выполнить следующую команду:

sudo apt-get install libodbc1 unixodbc msodbcsql mssql-tools unixodbc-dev

ИЛИ ЖЕ

Для того, чтобы заставить "apt-get install" отвечать "Yes" любому "Are you sure you want to install this package? [Y/n]"вопросы, которые могут возникнуть, делают:

sudo apt-get install libodbc1 unixodbc msodbcsql mssql-tools unixodbc-dev -y

Не забудьте оставить отзыв, если это поможет.

У меня тоже была эта проблема.

Выяснилось, что msodbcsql зависит от unixodbc (как вы заметили), который зависит от libodbc1. Я должен был установить их в первую очередь.

sudo apt-get install libodbc1 
sudo apt-get install unixodbc
sudo apt-get install msodbcsql

# You can now install the package you actually want

sudo apt-get install mssql-tools unixodbc-dev

Надеюсь, это поможет.

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

sudo apt-get install libcurl3 -y
Другие вопросы по тегам