2017/01/31

FTPで送られてくるXMLファイルをSQLServerに自動的にロードする

  • Goal

    FTPで送られてくるXMLファイルを自動的にSQLServerのテーブルにロードする。
    SQLServer上にテーブル名Logxmlを作成し、受信したXMLを1カラムにINSERTする。LogxmlテーブルのSQLは以下の通り。この後、必要に応じてXML形式のカラムからトリガーやTSQLなどで各要素・カラムの切り出しをする。



  • How

    PowerShellで実施。
    ターゲットのフォルダから対象のファイル名を取得して、Bulkインサートを行う。
    スクリプトは常駐させておいて、60秒間隔で起動。
    (本当はWMIでやりたいので、後日トライ予定)

2017/01/30

特定の文字の間の文字を切り出す - SQL


  • Goal
    文字列から特定の文字の間の文字を抜き出す
    (例)  1234567890123 Hello 0980 982134 1adfllkjasf から1つ目の空白と
       2つ目の空白の間の文字列を抜き出す。
       結果として、Helloだけを抜き出す。
  • Source


2017/01/28

BOM構成表情報を取得するAPI

  • Goal
    BOMPEXPL.EXPLODER_USEREXITを呼び出して、BOM_EXPLOSION_TEMPテーブルに出力させる。APEXのアプリから、EBSのBOM構成表を呼び出したりできる。
    INTENDED BILLの画面と同じ情報を引っ張ってこれる。

  • Sourceサンプル

2017/01/27

オラクル スケジューラー テンプレ

  • Goal
    DBMS_SCHEDULERパッケージを使って、PL/SQLブロックや、プロシージャのスケジュールを作る。Oracle Schedulerを使う。

  • Sourceサンプル
    Sample1 - PLSQLブロックを5時57分から23時57分まで、毎時間流す
    Sample2 - プロシージャを2時間おきに
    流す

  • 参考 Thanks!!
    Oracle Scheduler マニュアル

2017/01/17

日付から年と週番号を求める - ISO方式 / VB6の場合

  • Goal
    日付からISO8601方式での年+週番号(YY-WWのフォーマット)で出力する。
    ISO8601では、月曜日が週の始まりで、最初の木曜日を含む週が、その年の第1週として計算する。 

  • Sourceサンプル
    手順: 1. ターゲットの日付を含む週の月曜日を求めて、年を算出する
        2. ISO方式を考慮した週番号を算出する。
    想定結果(YY-WW): 2017/01/01(SUN) = 16-52
                                     2018/01/01(MON) = 18-01
                                     2019/01/01(TUE) = 19-01
                                     2020/01/01(WED) = 20-01
                                     2021/01/01(FRI) = 20-53
                                     2022/01/01(SAT) = 21-52
                                     2023/01/01(SUN) = 22-52



  • 参考 Thanks!!
    DatePart function - Microsoft Developer Network
    年月日から週番号 : 計算結果の確認用




     

2017/01/15

Monopoly DEAL モノポリー DEAL ー カードゲーム

最近、よくやるやつ。モノポリーほど時間がかからなくて、お金のやり取りとかがめんどくさくないカードゲーム版のモノポリー。全くルールは違っていて、交渉も必要ない。
ギリギリまで大逆転も可能で結構よくできていると思う。Deal Breaker とJust say no が、大富豪のジョーカーとスペード3返しみたいな感じで使えるのが私は好き。(よくわからん説明。。。。)

子供10才は可能。6才はまだ無理。我が家では、モノポリーよりは険悪にならずにプレイできる。

モノポリー ディール - Monopoly Deal

2017/01/12

.bash コマンドインデックス

.bash のコマンド集

1. which bash - bash の種類を確認
   #/bin/bash
   #この結果をスクリプトの一行目に表示す
   #!/bin/bash
2. cd - フォルダの変更
3. ls - フォルダの中身を表示
4. rm - ファイル、フォルダの削除
5. cp - ファイルのコピー
6. mv - ファイルの移動
7. mkdir - ディレクトリを作成
8. pwd - 現在のフォルダパスを表示
9. chmod - ファイル・ディレクトリのアクセス権限変更
10. tee - 標準出力+ファイル出力の同時出力
11. awk - 文字列コントロール/編集
12. xargs - 
標準入力から生成したコマンドラインを実行する

タスクマネージャをリモートデスクトップ上で起動

- Issue
  リモートデスクトップ接続中Ctrl+Alt+Deleteでタスクマネージャを起動できない。

 (知らずにしょーもない時間を潰す…)

- 対策
  1. Ctrl+Shift+Esc
  2. Run taskmgr
     Windows key + R -> taskmgr
  3. タクスバー上で右クリックする



- Thanks!
  
  How-to Geek - Six ways to open the windows task manager  

2017/01/05

SQL server ログファイルが大きくなる

- Issue
  SQL Serverのログファイルが大きくなる。特に、洗い替えの処理等を頻繁に行うような場合。




- 原因と対策
 Recovery modelの設定が原因。 Fullになっている。
 それをSimpleに変更する。
 (注)洗い替え処理なので、ロールバックが重要ではないので。。。