スクリプトを実行してMSSQLのインスタンスに接続すると、以下のエラーが発生します。
Ubuntu Disco Dingo(開発ブランチ)19.04を使用しています。
Ubuntu 18.04.02では、以下の問題は発生しません。ただし、新しいUbuntuバージョンで動作するようにしたいと思います。
2019年3月22日付けのAzureData Studiov1.5.2をインストールしています
Microsoft ODBC Server 2017 Driver for Linux(バージョン:Ubuntu 18.10)もインストールしました
ドライバーがパスに存在することを確認しました:
/opt/Microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
次の出力で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/leeca/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
ただし、2つの場所にodbcinst.iniファイルがあります。
場所1:
/opt/Microsoft/msodbcsql17/etc/odbcinst.ini
nano odbcinst.ini:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/Microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
場所2:
/etc/odbcinst.ini
nano odbcinst.ini:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/Microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
UsageCount=1
/opt/Microsoft/msodbcsql17/etc
を実行して/etc/odbcinst.ini
内のファイルをシンボリックリンクするために、ln -s /etc/odbcinst.ini
に移動しようとしましたが、次のエラーで失敗します:ln: failed to create symbolic link 'etc/odbcinst.ini': File exists
このスクリプトを使用してJupyterLabのSQLServerインスタンスに接続します。
class Database():
def __init__(self):
self.cnxn = pyodbc.connect(driver='{ODBC Driver 17 for SQL Server}',
server='servername',
database=dbname,
uid=user,
pwd=password)
エラーが発生します:('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/Microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1' : file not found (0) (SQLDriverConnect)")
Azure DataStudioを使用してSQLServerインスタンスに接続すると、次のエラーが発生します。
Extension Host terminated unexpectedly.
フォルダパスのアクセス許可:
drwxr-xr-x /
drwxrwxr-x opt
drwxr-xr-x Microsoft
drwxr-xr-x msodbcsql17
drwxr-xr-x lib64
-rwxr-xr-x libmsodbcsql-17.3.so.1.1
f: /etc/
drwxr-xr-x /
drwxr-xr-x etc
助けていただければ幸いです、ありがとう
昨日と今日のUbuntu19.04でこの正確なエラーが発生し、何時間もの欲求不満の後で助けられるかもしれないと思いました。
コマンド「ldd/opt/Microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1」を使用しましたが、libssl1.0.0が見つかりませんでした。
残念ながら、Ubuntu 19.04Discoのリポジトリ内で利用できる適切な候補の代替品がありませんでした。このリソースから.debを直接ダウンロードできました: https://packages.ubuntu.com/cosmic/AMD64/libssl1.0.0/download これで問題は解決しました。