web-dev-qa-db-ja.com

UbuntuからのMSSQL接続

UbuntuからMSSQL接続を行うための簡単で完全なチュートリアルが必要です。

FreeTDSとUnixODBCをインストールしたと思いますが、設定が非常に複雑で、問題を理解できませんでした。

このチュートリアルに従いました: https://github.com/Rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubunt

しかし、私は失敗しました。

root@hackmachine:~# isql -v example.com XXXXX XXXXXXX
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
root@hackmachine:~# 

編集:

この編集の前は、「/ etc/odbcinst.ini」および「/etc/odbc.ini」は空でした。

これらの行を/etc/odbcinst.iniに追加しました。

[FreeTDS]

Description     = TDS driver (Sybase/MS SQL)

Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so

Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

CPTimeout       =

CPReuse         =

FileUsage       = 1

これらの行を/etc/odbc.iniに追加しました。

[project_development]
Driver = FreeTDS
Description     = ODBC connection via FreeTDS
Trace           = No
Servername      = developer
Database        = project_development

[project_test]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = test

[project_production]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = production
Database = project_production

最初から "/etc/freetds/freetds.conf"に変更を加えていません。

それでも、何も変わっていません。

10
mertyildiran

手順を追って説明します (こちらにあります)

まず、unixODBCをインストールします。

Sudo apt-get install unixodbc unixodbc-dev

また、次の(おそらく必要な)パッケージもインストールしました。

Sudo apt-get install tdsodbc php5-odbc

次に、FreeTDSをダウンロード、解凍、コンパイル、およびインストールします(警告、URLは変更される場合があります)。

cd /usr/local

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar xvfz freetds-stable.tgz
cd freetds-0.82
./configure --enable-msdblib --with-tdsver=8.0 --with-unixodbc=/usr
make
make install
make clean

Telnetを介してSQL Serverインスタンスへの接続を試みます。

telnet 192.168.0.1 1433

Tsqlツールを使用して、接続をテストします。

tsql -S 192.168.0.1 -U devuser

これにより、パスワードの入力を求められます。その後、この美しい兆候を見る希望に反することを期待できます。

1>

それがうまくいけば、(コーディング)パーティーを投げることをお勧めします。次はいくつかの設定です。 FreeTDS構成ファイルを開きます。 /usr/local/etc/freetds.conf

ファイルの下部に次のエントリを追加します。 「MSSQL」というデータソース名(DSN)を設定しています。

[MSSQL]
Host = 192.168.0.1
port = 1433
tds version = 8.0

ODBC構成ファイルを開きます:/usr/local/etc/odbcinst.ini

最後に、次のMSSQLドライバーエントリ(FreeTDS)を追加します。

[FreeTDS]
Description = FreeTDS driver
Driver = /usr/local/lib/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

次に、最後に、このodbc.iniファイルのODBC内のDSNを/usr/local/etc/odbc.iniにセットアップします。このビットをファイルに追加することにより:

[MSSQL]
Description = MS SQL Server
Driver = /usr/local/lib/libtdsodbc.so
Server = 192.168.2.3
UID = devuser
PWD = devpass
ReadOnly = No
Port = 1433

Isqlツールを使用して接続をテストします。

isql -v MSSQL devuser 'devpass'

「Connected!」と表示されている場合は、おめでとうございます!そうでない場合は、本当に申し訳ありません。以下を参照してください。役立つリソースがいくつかあります。

次に、Apacheを再起動し、DSNとして「MSSQL」を使用してPHPからテストします。何かが機能しない場合は、これらのパッケージのいずれかまたはすべてをインストールしてみてください:mdbtools libmdbodbc libmdbtools mdbtools-gmdb

11
Trevor Clarke

Trusty 14.04で http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz の作成に問題がありました

tsqlコマンドを実行しようとすると、tsqlがaptを介してインストールできることがわかりました。

$ Sudo apt-get install freetds-bin
4
decibel.places

によって暗示される質問に答えるために:

UbuntuからMSSQL接続を行うための簡単で完全なチュートリアルが必要です

...そして、FreeTDSのセットアップをすべて無視します。

mssql-cliinstallsage )を使用します。

0
oeuftete

Ubuntu 14.04と17.04の両方でこれを行う必要がありました。両方とも64ビットです。おそらくそれ以降のバージョンで動作します。

nixodbc(ODBC接続)、freetds(SQL Server接続)およびtdsodbc(前の2つの間のブリッジ)をインストール

Sudo apt install unixodbc freetds-bin tdsodbc

ODBCドライバーを/etc/odbcinst.iniに追加します(空にする必要があります)

[SQL Server]
Description = FreeTDS driver
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

DSNを/etc/odbc.iniに追加します(空でもあります)

[ACCOUNTING]
Description = Accounting database
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Server = 123.123.123.123
Database = your_database_name
Port = 1433

そして、それがすべてでした。

0
ASalazar

リンクのコンテンツをファイルにコピーしてください。 「/etc/odbc.ini」ファイルでSQLサーバーの詳細を更新する必要があります。リンクを参照できます http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/

0
vembutech

マイクロソフト製品を頻繁に使用する会社で働いています。ただし、Linuxマシン(Ubuntu)で作業することを好みます。具体的には、Ubuntu 16.04 LTSを使用します。

JetGUIの DataGrip または SQL Electron をSQL GUIとして使用します。 DataGripには SQL Server用Microsoft JDBCドライバー が必要です。これは、DataGripを初めて開くときに手動でポイントする必要があります。これを/usr/share/Java/に入れましたが、どこでも動作します。

Windows 10ラップトップでの接続は簡単です。 SQL Server Management Studioを開き、資格情報を使用してログインします(ユーザー名+パスワード)。 Windows認証を使用しません。

前提条件

Ubuntuから接続するためには、少し(少しだけ)余分な作業が必要です。まず、Windows 10マシンで、Powershellターミナルを開き、次のように入力します

nslookup <server name here>

そしてそれは次のようなものを返します

Non-authoritative answer:
Name: <server name here>
Address: <server's address>

サーバーの名前とアドレスは静的であるため、上記を実行する必要があるのは、アクセスしようとするサーバーごとに1回だけです。

DataGrip

次に、LinuxマシンにジャンプしてDataGripを開きます。 Hostには、<server's address>と入力します。ポート:1433(これはMS SQL Serverのデフォルトです)。 URLは次のようになります。

URL: jdbc:sqlserver://<server's address>:1433

Test Connectionをクリックすると、まだ追加していない場合はログイン情報の入力を求められます。 DataGripについては以上です!

また、DataGripには次のブログがあります。これは新規ユーザーに役立つかもしれません: DataGripをMS SQL Serverに接続する

SQL Electron

DataGripを購入したくない場合は、SQL Electronを使用できます。手順は似ています。 SQL Electronを開き、[追加]をクリックして新しいサーバーを追加し、Server Address<server's address>と入力します(ポート:1433、最後にログイン資格情報)。以上です!

0
Jon