2
0

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 1 year has passed since last update.

高速データウェアハウス Netezza にクライアント接続する(Windows編)

Last updated at Posted at 2023-08-13

1. はじめに

Netezza (正式には Netezza Performance Server, NPS) はアプライアンス(ソフトウェア製品が組み込み済みのハードウェア製品)やクラウド環境 (OpenShift, Cloud Pak for Data) で動作します。Netezzaの評価版NPSVB(無料)はWindows PCやMacで動かすことができます。

本記事はWindows PCからNetezzaデータベースに接続する方法としてSQLコマンドインタープリタnzsqlとODBC接続を説明します。設定方法等を悩むところは少ないですが、パッケージの取得方法はマニュアルを見てもわかりにくいため、本記事が参考になると思います。また実行例に評価版NPSVBを用いているので、本記事に沿って無料で動作確認できます。

  1. はじめに
  2. 前提
  3. 手順概要
  4. 手順
  5. 参考資料
  6. 類似テーマを扱ったQiita記事

2. 前提

  1. Windows 10または11が必要です。本記事の検証に使ったのはWindows 10ですが、Windows 11でも同様に動作すると思います。

  2. Netezzaのアカウントが必要です。持っていない方は次のQiita記事をご覧になってNetezza評価版(NPSVB)を導入してください。

  3. IBMホームページのアカウント(IBMid)が必要です。このアカウントを使ってNetezzaクライアントをダウンロードします。IBMidを持っていなければ、次のQiita記事をご覧になって作成してください。

3. 手順概要

6つのステップに分けて手順を説明します。

  1. Netezzaクライアントのパッケージを取得
  2. Netezzaツールを導入
  3. SQLインタープリタnzsqlを用いてデータベースに接続
  4. ODBCドライバを導入
  5. ODBC接続を設定
  6. Microsoft Excelからデータベースに接続

4. 手順1) Netezzaクライアントのパッケージを取得

次のリンクをクリックしてFixCentralと呼ばれるダウンロードサイトにアクセスします。

Select productタブをクリックし、続いて次の画面のように入力します。
image.png
次の画面ではデフォルトのままContinueをクリックします。
image.png
パッケージの一覧が表示されます。この中から名前にWS-ICPDS-NPS-Clientsを含むパッケージをクリックします。
image.png
IBMidを入力します。
image.png
ダウンロード方法を入力します。
image.png
パッケージの一覧が表示されます。nps-winclient-v11.x.x.x.zipをクリックしてダウンロードします。
image.png

4. 手順2) Netezzaツールを導入

上でダウンロードしたパッケージをエクスプローラーで確認し、クリックして解凍します。
image.png
サブフォルダadminに保存されているnzsetup.exeをクリックします。
image.png
表示されたポップアップのOKをクリックします。
image.png
ポップアップの設定項目はデフォルトのままにして画面を遷移させて導入を完了します。
image.png
image.png
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をダブルクリックします。
image.png
表示されたポップアップのOKをクリックします。
image.png
次の画面では64-bitをクリックします。
image.png
次の画面のOptimze for ASCII character setはデフォルトで非選択となっており、そのまま変更せずに次へをクリックします。データベースで日本語を使うため、このオプションを選択しません。
image.png
次のように画面を進めて導入が完了します。
image.png
image.png

4. 手順5) ODBC接続を設定

WindowsスタートメニューでODBCデータソース(64ビット)を探してクリックします。
image.png
ポップアップが表示されます。システムDSNをクリックし、追加をクリックします。
image.png
ドライバーの選択画面でNetezzaSQLをクリックします。
image.png
次のように入力します。ただしData Sourceは任意の名前で、下図と同じものを指定する必要はありません。Database User Name Passwordに手順3と同じもの設定してください。
image.png
データベースに接続できたら次のポップアップが表示されます。
image.png

4. 手順6) Microsoft Excelからデータベースに接続

WindowsスタートメニューからExcelを起動して次のようにFrom Microsoft Queryをクリックします。
image.png
ポップアップが表示されます。手順5で指定したData Source名が表示されるので、それをクリックしてOKをクリックします。
image.png
手順3で作成したテーブルをクリックし、>をクリックして列をqueryの対象とします。
image.png
表示されるポップアップの設定をデフォルトのまま進めます。
image.png
image.png
手順3で作成したテーブルの内容が表示されます。
image.png

5. 参考資料

6. 類似テーマを扱ったQiita記事

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?