Невозможно соединить код Microsoft SQL-Server и Visual Studio - PullRequest
1 голос
/ 06 марта 2019

Я только что установил 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 install 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.

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

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

1 Ответ

1 голос
/ 06 марта 2019

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

И msodbcsql и msodbcsql17 - это разные пакеты. msodbcsql (драйвер MS ODBC 13 для SQL Server) даже недоступен в Ubuntu 18.10.

Ключ вашей проблемы - сообщение об ошибке:

E: Невозможно исправить проблемы, у вас есть сломанные пакеты.

Вам необходимо снять удержание на сломанной упаковке. Во-первых, я бы попробовал специально установить msodbcsql17:

sudo apt-get install msodbcsql17

Если вы по-прежнему получаете сообщение об ошибке, вы можете предпринять другие шаги, чтобы попытаться решить проблему удерживаемых пакетов: https://askubuntu.com/a/223267

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...