スキップしてメイン コンテンツに移動

投稿

ラベル(RDBMS)が付いた投稿を表示しています

面倒くさいORACLEの文字化け状況

ORACLEはそもそもUTF-8をサポートしてほかの言語はサポートはしているって書いてますが親切ではないようです。 現在サーバー側は昔からUS7ASCIIに設定して日本語を入れてしまい、データは7ビットASCIIモードで読み取りながら日本語のコートがOS側とクライアント側で変換しない必要があります。 クライアント側で文字化けの解決にはNLS_LANGの設定が効くクライアントが必要ですが、一部の有料クライアントにはサポートするようです。 接続構造は参考に https://www.oracle.com/technetwork/jp/content/charcterset-250314-ja.pdf の19スライドのように クライアントからNLS_LANGをUS7ASCIIに設定しても その設定した言語にもらったUTF-8のデータをクライアントが変換すると NLS_LANGを設定しても意味がないようです。 ORACLE SQL Developerがこの様です。 ODBCと直接接続は必ずUTF-8に変換してしまうのでUS7ASCIIになっているDBからはクライアントをいくら変換しても文字化けのままです。 必ずOCI接続を通じてクライアント側から読み取らないとUS7ASCIIは勝手に変換されますね。 この全ての条件が満たした無料クライアントはA5mk2の2.9.1バージョンだけですね。 A5MK2 ver.2.9.1 : https://a5m2.mmatsubara.com/download/a5m2_2.9.1_x64.zip 2.9.1 バージョンでサーバーを設定する場合Uicode変換を強制に無視するオプションがあります。 多分このバージョンの時点ではUTF-8をメインにして設計したDBが少なかったから文字化け対応のためできたオプションでしょう。 しかし、A5mk2の新しいバージョンにもまた結果の変換をしないオプションがなくなって文字化けしてしまいます。開発者はもうUTF-8ではないDBはないと思ってるでしょう。まだまだ残ってますよ~。 クライアント側からの変換などに参考になればと思います! まだ直接お仕事になさってますか? もう遅いです!ソフトウェアロボットにお仕事を任せてどの位自分の作業分量が減ってるかをご確認ください! https://talklowy-jp.b

sql server convert datetime

0 select convert(varchar, getdate(), 0) Dec 12 2020 12:38AM 1 select convert(varchar, getdate(), 1) 12/30/20 2 select convert(varchar, getdate(), 2) 20.12.30 3 select convert(varchar, getdate(), 3) 30/12/20 4 select convert(varchar, getdate(), 4) 30.12.20 5 select convert(varchar, getdate(), 5) 30-12-20 6 select convert(varchar, getdate(), 6) 30 Dec 20 7 select convert(varchar, getdate(), 7) Dec 30, 20 9 select convert(varchar, getdate(), 9) Dec 30 2020 12:38:54:840AM 10 select convert(varchar, getdate(), 10) 12-30-20 11 select convert(varchar, getdate(), 11) 20/12/30 12 select convert(varchar, getdate(), 12) 201230 13 select convert(varchar, getdate(), 13) 30 Dec 2020 00:38:54:840AM 20 select convert(varchar, getdate(), 20) 2020-12-30 00:38:54 21 select convert(varchar, getdate(), 21) 2020-12-30 00:38:54.840 22 select convert(varchar, getdate(), 22) 12/30/20 12:38:54 AM 23 select convert(varchar, getdate(), 23) 2020-1

Apache-Drillを利用してData Scientistになろう!初級編!

何も知らない人のための講座になります。 まずはApache Drillをインストールしましょう。 https://drill.apache.org/ Apache Drillを自分のパソコンにインストールしましょう! 下記のファイルをまずダウンロード! ダウンロード: https://drill.apache.org/download/ JDKが要ります: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html もしUnzipが必要なら: https://www.7-zip.org/download.html インストールマニュアル: https://drill.apache.org/docs/installing-drill-on-windows/ インストール時チェック事項 ・JAVA_HOME設定しました? ・Drill UDFフォルダを作成しました? ・Drill UDFフォルダに権限を与えました? ではダウンロードしたDrillを起動しましょう! 圧縮を解凍するとフォルダができます。 apachi-drill-..... この中にbinフォルダに入ります。 apache-drill-embedded.bat を実行します。 しばらく待ったらプロンプトが出ます。 apache drill> と表示されたらOKです! プロンプトでもSQLの実行ができますが 見やすいWebUIを提供してくれるので ブラウザを立ち上げます。 localhost:8047 に接続すると 何か出ました! Queryをクリックしましょう。 Queryを入力する画面に早速自分のデータを入れてみましょう! UTF-8で保存したCSVファイルを用意しましょう。 今回はtest01.csvと名付けました select  *  from  dfs. `C: \l wwork \t est01.csv`   limit   10 ; と入力して実行!(ctrl + enter) CSVデータがウェブ上に表示されたら成功です! ここでいくつかのTipをだすと、 基本的にCSVのフィールド名は無

今使わないと時代遅れになるApache Drill(OLAP・統計用)

Apache Drillは Apache財団がサポートしている データコネクタエンジンの一つである。 https://drill.apache.org/ csv、json、Parquet、RDBなど 異なるデータタイプでも繋いで 統計などを作成するのができるのですごい! Google Analyticsなどのデータを CSVに落としてRDBの会員データと繋いで イベントの検索と統計を抽出したり、 オンラインゲームパブリッシャーなどの 異なるDBを使うしかない分野で 最高のパフォーマンスをもたらすエンジンなので 必ず導入を検討した方がいいと思います。 詳細はDocumentationを… https://drill.apache.org/docs/ しかし! まだまだ弱点があり、 それを記録します。 もし改善できたらいいけど 色々試した結果を残しますので 導入にご参考を! これは ODBC・JDBCみたいなものではない ! OpenOLAPみたいに Selectのみできるツールなので 今までのR-OLAPのお悩みの方に最適だと思います。 テーブル名に決まりがあります。 規則がはっきり分かりませんが、 deviceという名のテーブルはダメ! もしこの様な読み取れないテーブル名があったら DBMSからViewを作成するのをお薦めします。 そして use dfs.tmp などの 書き込みができるファイルシステムを選択すると 自分のViewなどが作れます よ! https://drill.apache.org/docs/create-view/ JSONとかCSVのフィールドの読み取りが 上手くできないケースがあるが、 それはSubQueryで解決できる Flattenマニュアル https://drill.apache.org/docs/flatten/ ネスト(Nest、繰り返し)構造のJSONファイルをQueryする http://nagix.hatenablog.com/entry/2014/12/18/191324 Apache Parquet(パケイ?)フ