■ファイヤーウォールのポート開放
コントロールパネルでファイアーウォールを検索
WindowsDefenderファイアウォールの詳細設定を表示
新しい規則で次のポートを開放
TCP 1433
UDP 1434
規則の名前はMSSqlserverとでもしておく
■SQLServer2017のインストール
コンピューターの管理のサービスとアプリケーションで
SQL構成マネージャーのネットワーク構成でプロトコルの名前付きパイプを有効にする
(ネットワーク越しに使用する場合はTCP/IPも有効にする)
■郵便局のページ
http://www.post.japanpost.jp/zipcode/download.html
から必要な郵便番号データをダウンロードする
(読み仮名データの促音・拗音を小書きで表記するものの全国一括)
ken_all.zipを解凍し別名KEN_ALL(更新日付とか).CSVにする
■MSSMSでデータベースを作成
ここではKEN_ALL
■MSSMSでテーブルを作成(テーブル名もKEN_ALL)
USE [KEN_ALL] GO /****** Object: Table [dbo].[KEN_ALL] Script Date: 2018/03/18 13:31:16 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[KEN_ALL]( [cord] [varchar](100) NULL, [zip5] [varchar](100) NULL, [zip] [varchar](100) NULL, [todofukenkana] [varchar](100) NULL, [sikuchosonkana] [varchar](100) NULL, [choikikana] [varchar](100) NULL, [todofuken] [varchar](100) NULL, [sikuchoson] [varchar](100) NULL, [choiki] [varchar](100) NULL, [a] [varchar](1) NULL, [b] [varchar](1) NULL, [c] [varchar](1) NULL, [d] [varchar](1) NULL, [e] [varchar](1) NULL, [f] [varchar](1) NULL ) ON [PRIMARY] GO
■管理者権限のコマンドプロンプトでBCPでKEN_ALL(更新日付とか).CSVインポートする
>bcp KEN_ALL in c:\フォルダーパス\KEN_ALL().CSV -S <Server Name> -d KEN_ALL -U <Username> -P <password> -q -c -t,
コマンドオプションの説明
- S サーバー名を指定します。省略した場合、既定のサーバーになります。
- T 統合認証を使ってログインします。この場合ユーザー名、パスワードは必要ありません。
- q 空白や単一引用符を含むデータベース名を指定するには、-q オプションを使用する必要があります。
- c 文字データ型を使用して操作を実行します。 このオプションを使用すると、フィールドごとにプロンプトが表示されません。 char をプレフィックスなしのストレージ型として、また \t (タブ) をフィールド区切り文字、 \r\n (改行文字) を行ターミネータとして使用します。 -c は -w と互換性がありません。
- t フィールド ターミネータを指定します。 既定値は \t (タブ文字) です。 既定のフィールド ターミネータを無効にする場合、このパラメーターを使用します。 詳細については、「フィールド ターミネータと行ターミネータの指定 (SQL Server)」をご覧ください。
bcp.exe コマンドでは、フィールド ターミネータを 16 進数表記で指定すると、値が 0x00 で切り捨てられます。 たとえば、0x410041 を指定した場合、使用されるのは 0x41 になります。
field_term がハイフン (-) またはスラッシュ (/) で始まる場合は、 -t と field_term 値の間に空白を入れないでください。
■sqlcmdで確認する
>sqlcmd -S <Server Name> -d KEN_ALL -U <Username> -P <Password> -Q "select + from KEN_ALL;"