日々学習〜人の役に立てるITエンジニアを目指して〜

ITエンジニアが日々学んだ事を書き記します

2014-01-01から1年間の記事一覧

フォルダ内のファイル名の一覧を表示する方法

フォルダ内のファイルを一覧にしたい場合に便利なコマンド。 一覧を取得したいフォルダまで移動させて以下のコマンドを実行すると テキストファイルに出力される。 dir /b >aaa.txt

テーブルの作成日を見る

データベースのテーブルの作成日を見たい場合はショートカットキーのF7で 一覧が表示される。 SQLServer2005まではデフォルトで表示されていた記憶があるが、 SQLServer2008以降だと表示されていないため調べた。

データベースの分離レベルを調べる

システムのレスポンスが急激に遅くなる現象があり、 トランザクションの分離レベルが影響しているのではないかと思い調べた。 調べる方法は クエリでDBCC USEROPTIONを実行 実行結果の「iso level」に分離レベルの規定値が出力される 規定値は「read committ…

テーブルのフィールド名を変更する

テーブルのフィールド名を変更する際はsp_renameを使用すると便利 sp_rename 'TableA.FieldA', 'FieldB', 'COLUMN'

LIKEのワイルドカード文字をエスケープする

SQL

LIKEを使用する際、対象としたい文字にワールドカード文字がある場合(%や$など)、ESCAPEを使用して対応できる フィールドの値"30%"を対象としたい select * from [TableA] where [FieldA] like '%30%%' escape '%'

ブレークポイントが効かない現象 その2

ブレークポイントを設定した後に、プログラムの修正を行うとブレークポイントが効かなくなる現象が発生。 原因は実行時に修正したプログラムのビルドが行われていなかった為だった。 実行時に全てのプログラムのビルドを行うには以下の設定で対応できる。 ツ…

ブレークポイントが効かない現象

ブレークポイントを設定しても効かない現象が発生した。 いろいろ調べてみると、コンパイルの構成がReleaseになっている事が判明。 ソリューションのプロパティでDebugにしたのだが、なぜかReleaseにもどってしまう。 ツールバーに表示されているコンパイル…

インデックスの作成

約1000万レコードのテーブルに対してselectしている処理で、タイムアウトが発生するため、インデックスを作成した。 作成する際はSQLの条件に使用しているフィールドをインデックスの対象にする。 3分以上かかっていた処理が10秒程度に改善された。 処理が…

SQLServer2000のバックアップファイルをSQLServer2014に復元する方法

システムのバージョンアップで SQLServer2000のバックアップファイルをSQLServer2014に復元する必要があったので、その手順。 直接SQLServer2014に復元はできないのでSQLServer2008に復元する。 復元後、復元したデータベースのプロパティ→オプション→互換性…

デッドロックのログの調査方法

トレース フラグ 1204(DBCC TRACEON (1204,-1))を有効にするとデッドロックが発生した場合にログが吐き出されるようになるが、それを解析するとなるとなかなか難しい。 こちらを参考にした。 http://msdn.microsoft.com/ja-jp/library/aa937573(SQL.80).aspx…

デッドロック時にエラーを出力する方法

原因不明のデッドロックが発生するため、原因を探るための情報としてデッドロック時にログを吐き出す方法を調べた。 以下のコマンドを実行するとデッドロック時に ログが吐き出されるようになる。 DBCC TRACEON(1204, -1) エラーログは以下の場所に吐き出さ…

テーブルのキーの追加方法

キーの重複エラーが発生し、キーの追加を行った (本来は重複が発生しないように設計するべきだったが、考慮が足りず・・・) キーの追加をする際は、既存のキーを削除してから行う[注意点]キーを設定するフィールドのNull許可をしない設定を行う →これをやら…

テーブルの断片化を調べる方法

テーブルの更新時に想定しない更新が行われたため、 テーブルの断片化が原因ではないかと思い、調査方法を調べた。 テーブルの断片化を調べる方法 use (データベース名)SELECT DB_NAME(s.database_id), OBJECT_NAME(s.object_id), s.index_type_desc, i.name…

ラベルの文字ピッチの調整

ActiveReportsでラベルの文字のバランスを整えたいときはCharacterSpacingプロパティを使用する。 文字数の異なるラベルを左揃え、右揃えにしたいときに使用すると揃えやすい。 [Helpより] CharacterSpacingプロパティ 文字ピッチを取得または設定します。単…

WindowsのテーマをWindowsクラシックにするとボタンの背景色が変わってしまう

WindowsのテーマをWindowsクラシックにすると画面に配置したボタンの背景色がすけてしまった。 原因はボタンのBackColorプロパティがTransparentになっている為だった。 標準のテーマの時はボタンは灰色になっているため、気付かなかった。 Windowsのテーマ…

convert関数の注意点

SQL

convert関数を使用する際、変換する文字数が切れる場合があるので 切れないようにするにはvarcharのバイト数をmax指定する print 'テストSQL ' + convert(varhcar,@strSQL) → print 'テストSQL ' + convert(varhcar(max),@strSQL) ストアド上でprint文を書い…

vs.netとframeworkのバージョン

システムが動作する環境のframeworkのバージョンを何にするかの 話になったので忘れないように記入。 vs.net 2008 →コンパイル時、framework 3.5までOK vs.net 2010 →コンパイル時、framework 4.5までOK ただ、framework3.5でコンパイルしたシステムが frame…

VB.NetのフォームからPDFを印刷する

ActiveReportsで帳票を新規に作成せずに PDFで作成されているファイルを印刷したいという 要望があり、対応した。 参考にしたURL http://jehupc.exblog.jp/8568978/ ただし、既に別のPDFを起動しているとエラーが発生する事がわかり 対応方法を検討中 案とし…

LIkeでシングルクォートを検索する

SQL

初歩的な話ですが、Likeでシングルクォートを検索する方法がすぐに思い出せなかったので書いておきます。 シングルクォートを検索する場合はシングルクォートを2つ重ねる like '%''%'

システム日付を取得する(YYYYMMDD形式)

SQLServerでシステム日付を取得するにはGetDate()を使用する それだけだとフォーマットが"2014-06-18 19:13:23.177"となるため、 YYYYMMDD形式に変換させる CONVERT(VARCHAR,GetDate(),112) HHMMSS形式に変換させる (':'が付くのでreplaceで除く) SELECT rep…

.net Frameworkの互換性

Framework2.0対応のシステムで、3.5のみインストールされているPCで正常に動作をしていたので、Frameworkの互換性について調べた。 http://www.atmarkit.co.jp/ait/articles/1211/16/news093.html 3.5は2.0までを下位互換しているので正常に動作をしていたみ…

Bulk Insertで列をスキップさせる

Bulk InsertでCSVを取込む処理で CSVの列が追加されたが、取込は行わないようにする 対応を行った。 参考にしたURL http://www.ilovex.co.jp/blog/system/softwaredevelopment/post-24.html

コマンドプロンプトで拡張子を変更する方法

pgAdminをインストールしたところ、.sqlの関連付けがpgAdminでされていて「既定のプログラム」で関連付けをSQLServerに変えたが、VSSで開くときにpgAdminで開いてしまう現象があった そのため、コマンドプロンプトで関連付けを変更した 例) [拡張子 .sqlを変…

あるテーブルのデータを他のテーブルにインサートする

SQL

いつも使おうとするときに忘れるので メモしておきます。 あるテーブルのデータを他のテーブルにインサートする 新しくテーブルを作り、そのテーブルへインサートする select * into TableA_2 from TableA 既にあるテーブルにインサートする insert into Tab…