“よくあるファイル命名ルール”でデータ消失の危機?
http://www.itmedia.co.jp/enterprise/articles/1702/14/news046.html
システムに限らず
ただのエクセルのファイルなんかでもいえることで
とある共有フォルダなどで見たときに
最新電話帳.XLSX
NEW電話帳.XLS
電話帳.XLS
電話帳2015版 .XLSX
となんだか似たような名前が並んでいたとき
さてどれが本当に最新なのか
よく分からずに適当に修正しちゃうと
更新日時も新しくなってしまうため
本当に新しいものではないものを最新として更新してしまうことがある
専門学校などでたまに見かけるのが
サーバーの名前を
Silver
Gold
などの名前や
Saturn
Venus
などの明らかに違う名前にしていることがある
業務で見かける名前でいうと
適当に担当者がつけてしまったり
あまり規約が準拠されていない場合
上記の記事にあるように
DB1SV
DB2SV
と間違いやすい名前になることがある
プログラムでも叱り
変数名を
FLG1
FLG2
IDX1
IDX2
IX1
IX2
用途がまったく不明なものが
古いプログラムだと多い
本当にテスト環境だと思ってたら
本番環境ということが起こりえるので
せめて
せめて
テストサーバーの場合
サーバー名は
●●●TEST
など明らかに分かりやすいものにしておかないと
引きついだ時にも痛い目をみるので注意したい
2017年2月15日水曜日
2016年9月1日木曜日
データベースとプログラムの文字コード
某お客の話
データベースが sjis
業務のプログラムが UNICORD
になっており
共通になる文字は問題ないが
特殊文字 ○13 などが
画面では入力できるが
データベースを経由すると
文字化けがおきることがあった
基本的なことではあるが
文字化けする場合の見落としがちなことなので
文字がばける
と連絡があった場合
確認してみるとよい
データベースが sjis
業務のプログラムが UNICORD
になっており
共通になる文字は問題ないが
特殊文字 ○13 などが
画面では入力できるが
データベースを経由すると
文字化けがおきることがあった
基本的なことではあるが
文字化けする場合の見落としがちなことなので
文字がばける
と連絡があった場合
確認してみるとよい
2016年8月10日水曜日
プログラムとSQLの文字列結合
JAVAの場合
手法1プラス演算子(時間がかかる)
String s1 = "aaa";
String s2 = "bbb";
String s = s1 + s2;
手法2String#concat()(時間がかかる)
String s1 = "aaa";
String s2 = "bbb";
String s = s1.concat(s2);
手法3StringBuffer
String s1 = "aaa";
String s2 = "bbb";
StringBufferbuf = new StringBuffer();
buf.append(s1);
buf.append(s2);
String s = buf.toString();
手法4StringBuilder(一番速度が速い)
String s1 = "aaa";
String s2 = "bbb";
StringBuilder buf = new StringBuilder();
buf.append(s1);
buf.append(s2);
String s = buf.toString();
VB.NETの場合
Dim s1 As String = "文字列1"
Dim s2 As String = "文字列2"
'2つの文字列を連結する
Dim s3 As String = s1 & s2
'Concatを使っても全く同じ
Dim s4 As String = String.Concat(s1, s2)
Dim sb As New System.Text.StringBuilder()
sb.Append(s1)
sb.Append(s2)
Dim s5 As String = sb.ToString()
COBOLの場合
01 TXTREC2 PIC X(600).
01 WK-POINTER PIC 9(10).
MOVE 1 TO WK-POINTER.
STRING
"文字列1" DELIMITED BY SIZE
INTO TXTREC2 WITH POINTER WK-POINTER
END-STRING.
"文字列2" DELIMITED BY SIZE
INTO TXTREC2 WITH POINTER WK-POINTER
END-STRING.
STRING
--------
END-STRING.
ORACLEの場合
CONCAT(文字列1 , 文字列2 )
SQL-Serverの場合
文字列1 + 文字列2
PostgerSQLの場合
'文字列1' || '文字列2'
手法1プラス演算子(時間がかかる)
String s1 = "aaa";
String s2 = "bbb";
String s = s1 + s2;
手法2String#concat()(時間がかかる)
String s1 = "aaa";
String s2 = "bbb";
String s = s1.concat(s2);
手法3StringBuffer
String s1 = "aaa";
String s2 = "bbb";
StringBufferbuf = new StringBuffer();
buf.append(s1);
buf.append(s2);
String s = buf.toString();
手法4StringBuilder(一番速度が速い)
String s1 = "aaa";
String s2 = "bbb";
StringBuilder buf = new StringBuilder();
buf.append(s1);
buf.append(s2);
String s = buf.toString();
VB.NETの場合
Dim s1 As String = "文字列1"
Dim s2 As String = "文字列2"
'2つの文字列を連結する
Dim s3 As String = s1 & s2
'Concatを使っても全く同じ
Dim s4 As String = String.Concat(s1, s2)
Dim sb As New System.Text.StringBuilder()
sb.Append(s1)
sb.Append(s2)
Dim s5 As String = sb.ToString()
COBOLの場合
01 TXTREC2 PIC X(600).
01 WK-POINTER PIC 9(10).
MOVE 1 TO WK-POINTER.
STRING
"文字列1" DELIMITED BY SIZE
INTO TXTREC2 WITH POINTER WK-POINTER
END-STRING.
"文字列2" DELIMITED BY SIZE
INTO TXTREC2 WITH POINTER WK-POINTER
END-STRING.
STRING
--------
END-STRING.
ORACLEの場合
CONCAT(文字列1 , 文字列2 )
SQL-Serverの場合
文字列1 + 文字列2
PostgerSQLの場合
'文字列1' || '文字列2'
登録:
投稿 (Atom)