3
7

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.

DB接続

Last updated at Posted at 2018-09-30

色々DBを使っているとコマンドのパラメータ等を忘れることがあるのでメモ
対象のDBは以下
Oracle
SQL Server
MySQL
PostgreSQL

内容は以下
サービス起動・停止
接続コマンド
ネットワーク設定
DB作成・ユーザ作成
管理情報取得のSQL
その他SQL
ODBC・JDBC接続
その他メモ
参考リンク

1.Oracle

1-1.サービス起動・停止

1-2.接続コマンド

1-2-1.コマンド

sqlplus <ユーザ名>/<パスワード>
sqlplus <ユーザ名>/<パスワード>@<ホスト名>:<ポート番号>/<サービス名>

1-2-2.ヘルプ

sqlplus /?

1-3.ネットワーク設定

1-4.DB作成・ユーザ作成

DBの作成は「dbca」コマンドで行う。

ユーザ作成
CREATE USER <ユーザ名>
IDENTIFIED BY "<パスワード>"
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
/

GRANT DBA TO <ユーザ名>;

1-5.管理情報取得のSQL

接続しているデータベースの確認(12c用)
show con_name;
文字コード確認
SELECT PARAMETER,VALUE FROM NLS_DATABASE_PARAMETERS where parameter = 'NLS_CHARACTERSET';

その他SQL

文字列の16進表示
select rawtohex(列名) from テーブル名;

ODBC・JDBC接続

http://apis.jpn.ph/fswiki/wiki.cgi?page=Oracle%2FInstantClient
Windows版のインストールは管理者モードで実行する必要がある。
また、64bitOSでも32bitのODBCドライバを使う場合は32bit版のBasic ODBC Updated を使うこと。
環境変数にNLS_LANGの指定をしないと、インストール時にJAを付けても日本語化されない。

その他メモ

コンテナとプラガブルについて

コンテナ・データベースが12cから導入され、1つのコンテナデータベースに複数のプラガブル・データベースを作成できるようになった。

文字型のbyte数について

char(5)、varchar(5) 5byte。UTF8環境で「あああああ」とやったら『値が大きすぎます(実際: 15、最大: 5)』となった。
nchar(5)、nvarchar2(5) 5文字。rawtohexで確認したら「30423042304230423042」だったのでUTF16で格納されている。lengthbでバイト数を確認したら10byt。

NLS_LANG

●UTF8
$export NLS_LANG=Japanese_Japan.AL32UTF8

●SJIS
$export NLS_LANG=Japanese_Japan.JA16SJIS

参考リンク

ORA-28040

サーバ側のsqlnet.oraに以下の内容を記載する。
SQLNET.ALLOWED_LOGON_VERSION=8
特にサービスを再起動する必要もなかった。

2.SQL Server

2-1.サービス起動・停止

Windowsのサービスか、「SQL Server Configration Manager」を使用する。

2-2.接続コマンド

2-2-1.コマンド

sqlcmd -U <ユーザ名> -P <パスワード>
sqlcmd -U <ユーザ名> -P <パスワード> -d <データベース名> -S <サーバ名>

2-2-2.ヘルプ

sqlcmd /?

管理者ユーザー

sa

メモ

SQL文の後に「go」を入力する必要がある。

2-3.ネットワーク設定

「SQL Server Configration Manager」を起動し、ネットワークの構成でTCP/IPを有効にする。
既定のインスタンスの場合は,ポート番号は1433

2-4.DB作成・ユーザ作成

create database <データベース名>;
GO
USE master;
CREATE LOGIN <ユーザ名>
WITH PASSWORD = N'<パスワード文字列>' ,
DEFAULT_DATABASE = <デフォルトの接続データベース名>;
GO
USE <データベース名>;
CREATE USER <ユーザ名>;
exec sp_addrolemember db_owner,<ユーザ名>;
GO

2-5.管理情報取得のSQL

接続しているデータベースの確認
select DB_NAME()
バージョン確認
select @@version;

2-6.ODBC・JDBC接続

2-7.CSVデータの取り込み

Management StudioからSQL Server Import and Export Wizardを使用する。
なお、Wizardを使わずに、Management Studioで、テーブルに対してEdit Top 200
でテーブルの内容を表示し、エクセルの内容を張り付けでもデータの登録は可能。

2-7-1.Chose a Data Source

  1. Flat File Sourceを選択する。
  2. Code Pageは932を選択する。
  3. Advancedで型を設定する。
  • datetime2 -> DT_DBTIMESTAMP2

その他メモ

ユーザー削除でdrop userを実行すると「存在しないか、権限がありません。」
が表示される。管理ツールでは削除可能。

参考リンク

3.MySQL

PostgreSQL

Port番号

Oracle

SQL Server

既定のインスタンスの場合は1433

MySQL

PostgreSQL

接続コマンド

Oracle

SQL Server

コマンド

sqlcmd -U <ユーザ名> -P <パスワード>

管理者ユーザ

sa

備考

切断

quit

MySQL

PostgreSQL

3
7
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
3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?