IPアドレス・ネットマスクの変換・チェック・統合・除外、国判定を簡単に。

こんな機能欲しいけど、自分で作るの面倒くさい!みたいな思いつきを
是非Twitterで意見投げてみてください。
時間は掛かるかもしれませんがコツコツ頑張るかも!?
Twitterリンクは下部)

IPアドレスから地理的位置情報(GeoIPLocation)の検索機能を公開しました。

Google or AdMax Promotion (ipvtop)

インポート環境準備(load data LOCAL infile)・法人の基本3情報のデータ(法人番号)

国税庁が公開している「法人の基本3情報のデータ(法人番号)」データは膨大です。
レコードにして400万レコードを超えるデータで、
レンタルサーバーにWeb経由で取り込むのは地味に苦労しますが取込は可能です。
ここでは「load data LOCAL infile」を利用して取り込みを行う前の、
テーブル作成についてご紹介します。前準備です。

本記事は以下の一連作業の1コンテンツです。

ダウンロードデータの取り込み先準備

プロモーション

Google or AdMax Promotion (ipvpos)

ダウンロードしたファイルは.zip形式で保存されます。
ファイルの中はそれぞれのエンコード方式のテキストデータです。

以下仕様書に従って、データベースの作成を行います。

リソース定義書(PDF形式)(Ver.3.0) 
ダウンロード(PDF/261KB:k-resource-dl-ver3.pdf)

PDFの一覧の通りではありますが「項目の説明」列部分に、
「CSV形式で取得する場合は設定されない(XMLのみ)」といった記述がある項目は、
「ダウンロード」列に「〇」表記があってもCSVにその項目は含まれてきません。

ざっくりと私が取り込みを行った際のテーブル作成のSQLは以下のようにしています。
適宜、変更してご活用を。

 

Shift-JIS版のデータを取り込む場合

Shift-JIS版のデータを取り込む場合に悩んだのが、
MySQLで言うところの「sjis」なのか、sjis-for-windowsである「cp932」なのかです。

結論としては、どちらでも問題はありませんでしたが、
念のため、両方を記載いたします。

sjisエンコード利用

「sjis」を利用してデータを格納する場合、以下のテーブル定義で作業します。

 

cp932エンコード利用

「cp932」を利用してデータを格納する場合、以下のテーブル定義で作業します。

 

基本的にはWeb利用が目的ならUTF-8を利用されるのが主流になっていますし、
Unicode版を採用されたほうが後々は楽だろうと思います。

Unicode版を取り込む場合

Unicode版として公開されているCSVファイルが示す
Unicodeって・・・そもそも何?という部分は最初ありましたが、

MySQLへのインポートを行って表示を確認しましたところ、
MySQL的に表現すれば「utf8mb4」という文字コードの扱いで問題ありません。

以下は、MySQLWorkBenchから作成済みテーブルから生成したCREATE文です。
MySQLWorkBenchの仕様か、各カラムに「COLLATE utf8mb4_unicode_ci 」が出ていますが、
基本的には最下部の「ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;」のみで問題ありません。

尚、デフォルトの文字コードはUTF8の環境を利用しています。

 

テーブルの作成が済んだら、データの取り込みを行います。

 

後記

誰かこういうSQLコピペでサクッとテーブル作れるようにと、
公開してくれていればなぁと思ったりするんですけど、
検索すると意外と見つからないので、いつもメイン作業から脱線してしまいます。

なので、轍はちゃんと遺しておきたい。
次に通る人が楽になったらいい。

 

とはいえ、今やってる開発というか作業は、
別にこのデータを取り込むことが目的じゃないんですよね。

「法人名は取得できる」けど、そのキーが取得できないので、
そのままデータを格納すると、主キーが法人名か単なる連番を振るしかなくて。

そんな気持ち悪い状態でデータベースに格納できない。

ならキーを持ったテーブルを用意して、法人名で主キーを取るぞ!となり、

完全にドツボにハマっているというステータスにあります。
「主キーを取るぞ!」となった結果、460万件必要になるという鬱。

まぁ、やっちゃえば自DBでサクッと処理出来ていいんでしょうけど。とほほ。

 


AdMax Promotion

公開日:
最終更新日:2019/06/20

シェア頂けると新機能開発の励みになります!!

最後までお読みいただきありがとうございました。
便利!と思って頂けたらシェアを是非お願いします。
ご意見・ご批判でも感じた事を気にせずご指摘ください。

アカウント新規作成の為、是非フォローもお願いします。(無言OK)

※このページでこんな情報も一緒に見れたら便利!などの
アイディア・ご意見もお聞かせください。

また弊サイトはすべて広告費と個人の自腹にて運営・開発を行っています。
皆様、お仕事中でお忙しいことと存じますが、
ご興味がおありの広告が目に留まりましたら
広告主様のサイトもご覧いただけますと励みになります。

QRコードからもこのURLを開けます。
リンク先URL: https://ipvx.info/everyones-db/corp_code-nta/import-env-pre/


AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください