1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu 18.04 で SQL Server2019 Express を試してみる

Last updated at Posted at 2020-04-30

Ubuntu 18.04 で SQL Server2019 Express を試してみる
#目的
Ubuntu 18.04 に SQL Server2019 Express をインストールしてみる
##コンパイル用のパッケージを追加する
$ sudo apt install gcc

提案パッケージ: を追加
$ sudo apt install gcc-7-locales gcc-multilib make autoconf automake libtool flex bison gcc-doc gcc-7-multilib gcc-7-doc libgcc1-dbg libgomp1-dbg
libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg
glibc-doc

##aptのrepositoryを追加する


$ sudo wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

##SQL Server をインストールする


$ sudo apt update
$ sudo apt install -y mssql-server

##SQL Server の初期設定を行う


$ sudo /opt/mssql/bin/mssql-conf setup
SQL Server のエディションを選択します:
 1) Evaluation (無料、製品使用権なし、期限 180 日間)
 2) Developer (無料、製品使用権なし)
 3) Express (無料)
 4) Web (有料)
 5) Standard (有料)
 6) Enterprise (有料)
 7) Enterprise Core (有料)
 8) 小売販売チャネルを介してライセンスを購入し、入力するプロダクト キーを持っています。
~
エディションを入力してください(1-8): 3
~
ライセンス条項に同意しますか? [Yes/No]:y
~
SQL Server の言語の選択:
(1) English
(2) Deutsch
(3) Espanol
(4) Francais
(5) Italiano
(6) 日本語
(7) 한국어
(8) Portugues
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
オプション 1-11 を入力: 6
~
SQL Server システム管理者パスワードを入力してください:
SQL Server システム管理者パスワードを確認入力してください:
SQL Server を構成しています...

ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service
 → /lib/systemd/system/mssql-server.service.
セットアップは正常に完了しました。SQL Server を起動しています。

$ sudo systemctl status mssql-server --no-pager
$ sudo systemctl start mssql-server
$ sudo systemctl stop mssql-server

##ツール系のインストール


$ sudo curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ sudo curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
$ sudo apt update 
$ sudo apt install mssql-tools unixodbc-dev
※ライセンスの確認で2回[はい]を押す
$ vi ~/.profile で以下を追加する
export PATH=$PATH:/opt/mssql-tools/bin
$ source ~/.profile
$ env で追加されていることを確認
PATH=$PATH:/opt/mssql-tools/bin
$ sqlcmd -S localhost -U SA -P '設定したパスワード' -Q 'select @@version'

-------------------------------------------------------------------------- ~
Microsoft SQL Server 2019 (RTM-CU4) (KB4548597) - 15.0.4033.1 (X64)
        Mar 14 2020 16:10:35
        Copyright (C) 2019 Microsoft Corporation
        Express Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS)                                           
~
$ ping ip_adddr -p 1433
PATTERN: 0x1433
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.020 ms

Windows版のSSMSより サーバーのIPを直接指定で接続確認

##DSNの設定


$ cat /etc/odbc.ini
[MSSQLDEMO]
Description = SQL Server2019Express
Driver = /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1
Server = tcp:192.168.5.49
Trace = No
Database = DEMO
Port = 1433
ClientCharset = UTF-8
----------------------------------------------------------------------
・項目の説明
[MSSQLDEMO]
\#ドライバーの説明
Description = SQL Server2017Express
\#ドライバーの場所
Driver = /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so.0.1
\#トレースするかの有無
Trace = No
\#データベースのIPアドレス
Server = tcp:xxx.xxx.xxx.xxx
\#データベース名
Database = DEMO
\#ポート番号 SQL Serverは通常 1433
Port = 1433
\#クライアント(Linux側)の文字コードセット
ClientCharset = UTF-8
----------------------------------------------------------------------
$ sudo odbcinst -i -d -f /etc/odbc.ini
odbcinst: Driver installed. Usage count increased to 1.
    Target directory is /etc
  -i インストール
  -d ドライバー
  -f テンプレートファイル名
  
$ sudo odbcinst -q -d
[ODBC Driver 17 for SQL Server]
[MSSQLDEMO]
  -q 検索
  -d ドライバー
 
$ sudo odbcinst -u -d -n MSSQLDEMO
MSSQLDEMO has been deleted (if it existed at all) because its usage count became zero
  -u アンインストール
  -n ドライバー又はDSN名

##DBI::DBDでアクセスしてみる


$ sudo apt-get install perl-doc
$ sudo apt install cpanminus
$ sudo cpanm install DBD::ODBC
$ sudo cpanm install DDP
$ sudo cpanm install DBI

サンプルコード(テーブルは郵便番号を取り込んだもの)

test.pl
use strict;
use utf8;
use DBI;

my $dbh=DBI->connect('dbi:ODBC:MSSQLDEMO','demo','demo') or die $!;
my $sth=$dbh->prepare("select * from ZIPCODE") or die $dbh->errstr;

# 出力エラー対策
$sth->{LongTruncOk}=1;
$sth->{LongReadLen}=2000000;

$sth->execute or die $dbh->errstr;
while(my $arrayref = $sth->fetchrow_arrayref){
        use DDP;
        p $arrayref;
}
$sth->finish;
$dbh->disconnect;

$ perl samp.pl
##参考にしたのは以下のサイト
クイック スタート:Ubuntu に SQL Server をインストールし、データベースを作成する
Ubuntu 16.04 x64 で SQL Server2017 Express を試してみる
Ubuntu 16.04 x64 + SQL Server2017 Express で AdventureWorks2017.bak を復元してみる

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?