1. はじめに
Netezza (正式には Netezza Performance Server, NPS) はアプライアンス(ソフトウェア製品が組み込み済みのハードウェア製品)やクラウド環境 (OpenShift, Cloud Pak for Data) で動作します。Netezzaの評価版NPSVB(無料)はWindows PCやMacで動かすことができます。
本記事はWindows PCからNetezzaデータベースに接続する方法としてSQLコマンドインタープリタnzsqlとODBC接続を説明します。設定方法等を悩むところは少ないですが、パッケージの取得方法はマニュアルを見てもわかりにくいため、本記事が参考になると思います。また実行例に評価版NPSVBを用いているので、本記事に沿って無料で動作確認できます。
- はじめに
- 前提
- 手順概要
- 手順
- 参考資料
- 類似テーマを扱ったQiita記事
2. 前提
-
Windows 10または11が必要です。本記事の検証に使ったのはWindows 10ですが、Windows 11でも同様に動作すると思います。
-
Netezzaのアカウントが必要です。持っていない方は次のQiita記事をご覧になってNetezza評価版(NPSVB)を導入してください。
- 高速データウェアハウス Netezza の評価版 NPSVB を無料で動かす(Windows環境)
https://qiita.com/yamasakk/items/750fdfe30d22063087a9
- 高速データウェアハウス Netezza の評価版 NPSVB を無料で動かす(Windows環境)
-
IBMホームページのアカウント(IBMid)が必要です。このアカウントを使ってNetezzaクライアントをダウンロードします。IBMidを持っていなければ、次のQiita記事をご覧になって作成してください。
3. 手順概要
6つのステップに分けて手順を説明します。
- Netezzaクライアントのパッケージを取得
- Netezzaツールを導入
- SQLインタープリタnzsqlを用いてデータベースに接続
- ODBCドライバを導入
- ODBC接続を設定
- Microsoft Excelからデータベースに接続
4. 手順1) Netezzaクライアントのパッケージを取得
次のリンクをクリックしてFixCentralと呼ばれるダウンロードサイトにアクセスします。
Select product
タブをクリックし、続いて次の画面のように入力します。
次の画面ではデフォルトのままContinue
をクリックします。
パッケージの一覧が表示されます。この中から名前にWS-ICPDS-NPS-Clients
を含むパッケージをクリックします。
IBMidを入力します。
ダウンロード方法を入力します。
パッケージの一覧が表示されます。nps-winclient-v11.x.x.x.zip
をクリックしてダウンロードします。
4. 手順2) Netezzaツールを導入
上でダウンロードしたパッケージをエクスプローラーで確認し、クリックして解凍します。
サブフォルダadmin
に保存されているnzsetup.exe
をクリックします。
表示されたポップアップのOK
をクリックします。
ポップアップの設定項目はデフォルトのままにして画面を遷移させて導入を完了します。
Windowsコマンドプロンプトを起動して、導入されたNetezzaツールを確認します。
Microsoft Windows [Version 10.0.19045.3208]
(c) Microsoft Corporation. All rights reserved.
C:\Users\xxxxxxx>dir "c:\Program Files\IBM Netezza Tools\Bin"
ドライブ C のボリューム ラベルは Windows7_OS です
ボリューム シリアル番号は 4683-4B0F です
c:\Program Files\IBM Netezza Tools\Bin のディレクトリ
2021/04/11 08:43 <DIR> .
2021/04/11 08:43 <DIR> ..
2020/12/17 04:40 446,464 HHActiveX.dll
2023/05/16 23:32 20,480 nzconvert.exe
2023/05/16 23:34 1,671,168 nzds.exe
2023/05/16 23:34 2,659,328 nzevent.exe
2023/05/16 23:35 1,682,432 nzhw.exe
2023/05/16 23:34 2,628,096 nzload.exe
2023/05/16 23:34 1,985,536 nzodbc_nzload.dll
2023/05/16 23:34 2,592,768 nzpassword.exe
2023/05/16 23:34 2,458,112 nzrev.exe
2023/05/16 23:34 2,655,744 nzsession.exe
2023/05/16 23:35 2,269,184 nzsql.exe
2023/05/16 23:34 2,592,768 nzstate.exe
2023/05/16 23:34 2,586,624 nzstats.exe
2023/05/16 23:34 2,598,400 nzsystem.exe
14 個のファイル 28,847,104 バイト
2 個のディレクトリ 68,053,377,024 バイトの空き領域
4. 手順3) SQLインタープリタnzsqlを用いてデータベースに接続
ここでは別途作成したNetezzaユーザーIDとしてyama0808a
とデータベースdb0808a
を用いますが、ご自身の環境で利用可能なユーザーを使ってください。もちろん管理者admin
(デフォルトパスワード password
)とデータベースsystem
を使って動作を確認することも可能です。なお、このユーザーIDとデータベース名は手順5でも用います。
Windowsコマンドプロンプトを起動してnzsqlコマンドが導入されていることを確認して実行し、データベースに接続します。
C:\Users\xxxxxxxx>where nzsql
C:\Program Files\IBM Netezza Tools\Bin\nzsql.exe
C:\Users\xxxxxxx>nzsql -h 192.168.9.2 -u yama0808a -pw xxxxxxxx -d db0808a
Welcome to nzsql, the IBM Netezza SQL interactive terminal.
DB0808A.ADMIN(YAMA0808A)=>
以下、データベース一覧の確認、スキーマ作成、テーブル作成、insertとselectの実行の例です。テーブルなどの名前に日本語を使うことができます。
DB0808A.ADMIN(YAMA0808A)=> \l
List of databases
DATABASE | OWNER
----------+-----------
DB0808A | YAMA0808A
SYSTEM | ADMIN
(2 rows)
DB0808A.ADMIN(YAMA0808A)=> create schema sc0810a;
CREATE SCHEMA
DB0808A.ADMIN(YAMA0808A)=> set schema sc0810a;
SET SCHEMA
DB0808A.SC0810A(YAMA0808A)=> select current_schema;
CURRENT_SCHEMA
----------------
SC0810A
(1 row)
DB0808A.SC0810A(YAMA0808A)=> create table 表0810c (番号 int, 名前 nvarchar(10));
CREATE TABLE
DB0808A.SC0810A(YAMA0808A)=> \d
List of relations
Schema | Name | Type | Owner
---------+---------+-------+-----------
SC0810A | 表0810C | TABLE | YAMA0808A
DB0808A.SC0810A(YAMA0808A)=> \d 表0810c
Table "表0810C"
Attribute | Type | Modifier | Default Value
-----------+--------------------------------+----------+---------------
番号 | INTEGER | |
名前 | NATIONAL CHARACTER VARYING(10) | |
Distributed on hash: "番号"
DB0808A.SC0810A(YAMA0808A)=> insert into 表0810c values (3,'山');
INSERT 0 1
DB0808A.SC0810A(YAMA0808A)=> insert into 表0810c values (4,'かず');
INSERT 0 1
DB0808A.SC0810A(YAMA0808A)=> select * from 表0810c;
番号 | 名前
-----+------
3 | 山
4 | かず
(2 rows)
DB0808A.SC0810A(YAMA0808A)=> \q
C:\Users\xxxxxxxx>
4. 手順4) ODBCドライバを導入
手順2で展開したフォルダ配下にdrivers
フォルダがあります。ここに含まれているnzodbcsetup.exe
をダブルクリックします。
表示されたポップアップのOK
をクリックします。
次の画面では64-bit
をクリックします。
次の画面のOptimze for ASCII character set
はデフォルトで非選択となっており、そのまま変更せずに次へ
をクリックします。データベースで日本語を使うため、このオプションを選択しません。
次のように画面を進めて導入が完了します。
4. 手順5) ODBC接続を設定
WindowsスタートメニューでODBCデータソース(64ビット)
を探してクリックします。
ポップアップが表示されます。システムDSN
をクリックし、追加
をクリックします。
ドライバーの選択画面でNetezzaSQL
をクリックします。
次のように入力します。ただしData Source
は任意の名前で、下図と同じものを指定する必要はありません。Database
User Name
Password
に手順3と同じもの設定してください。
データベースに接続できたら次のポップアップが表示されます。
4. 手順6) Microsoft Excelからデータベースに接続
WindowsスタートメニューからExcelを起動して次のようにFrom Microsoft Query
をクリックします。
ポップアップが表示されます。手順5で指定したData Source名が表示されるので、それをクリックしてOK
をクリックします。
手順3で作成したテーブルをクリックし、>
をクリックして列をqueryの対象とします。
表示されるポップアップの設定をデフォルトのまま進めます。
手順3で作成したテーブルの内容が表示されます。
5. 参考資料
- Netezzaマニュアル
- Client software packages
https://www.ibm.com/docs/en/netezza?topic=packages-client-software - Installing the Netezza Performance Server tools on a Windows client
https://www.ibm.com/docs/en/netezza?topic=packages-installing-netezza-performance-server-tools-windows-client - The nzsql command
https://www.ibm.com/docs/en/netezza?topic=commands-nzsql-command -
https://www.ibm.com/docs/en/netezza?topic=driver-setting-up-odbc-environment
Setting up an ODBC environment
- Client software packages
- Qiita記事
- 高速データウェアハウス Netezza の評価版 NPSVB を無料で動かす(Windows環境)
https://qiita.com/yamasakk/items/750fdfe30d22063087a9
- 高速データウェアハウス Netezza の評価版 NPSVB を無料で動かす(Windows環境)
6. 類似テーマを扱ったQiita記事
- PC上でメモリ5GBで動く! Netezza Software Emulatorを使ってみた
https://qiita.com/ishida330/items/8a23ae32b34b9aa461a0 - macOS に Netezza Software Emulator をインストール
https://qiita.com/sonots/items/08cbc2b55f19404af2cc