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

ロックを発生させているセッションを調べる

ロックを発生させているセッションを調べるSQLは以下の通り SELECT * FROM V$SESSION WHERE SID IN ( SELECT SID FROM V$LOCK WHERE TYPE IN ('TM','TX') )TYPEは以下のロックの種類を表す TM → DMLエンキュー(表ロック) TX → トランザクション・エンキュ…

NULLS FIRST LAST

NULLS オプションを使用すると ORDER BYしたときにNULLを最初にするか最後にするかを指定することができる。 Oracle 8.1.6からの機能。NVL関数でも実現できるけど・・・ 以下使用例 SELECT * FROM HOGE ORDER BY WRTDT ASC NULLS FIRSTSELECT * FROM HOGE OR…

画像のサイズを変換

あるフォルダ内にあるイメージファイルの大きさを統一して他のフォルダに保存するプログラム。 PictureBoxコントロールを使用しているのでフォームに配置しておくこと。 Imports System Imports System.IO Public Class Form1 '画像の格納されているパスを指…

ORA-12516

Oracleのセッション・プロセス数が上限を超えた場合に発生することがある。 上限は初期化パラメータを変更することで増やせるが、 増加させた分、リソースを消耗するのであまり大きくしすぎないほうがよい。 現在のセッション・プロセスの状況を調べるSQL SE…

ソートするカラム、方向を切り替える

ストアドで使用するカーソルをパラメタの値によってソートする項目、及びソート方向を切り替える例。 どうしても動的SQLを使用したくない場合などに以下の方法で実現可能。 ただし、以下の点に注意 ・レスポンスは無視しているのでINDEXにはたぶん当たらない…

SELECT結果でUPDATE

ORACLEでSELECTした結果でUPDATEする例 UPDATE HOGE_A SET (UODGENKN, UODKEIKN) = ( SELECT SUM(HOGE_B.UODGENKN) , SUM(HOGE_B.UODKN) FROM HOGE_B WHERE HOGE_B.DATNO = HOGE_A.DATNO ) WHERE HOGE_A.DATNO = '999999' ; 動作確認環境:Oracle 11g

クリレポで動的に画像ファイルを埋め込む

クリレポでテーブル上に格納してあるパスの画像ファイルを出力するには以下の通り 1.「挿入」→「OLEオブジェクト」でオブジェクトを挿入する 2.1で挿入したオブジェクトを選び、「グラフィックスの書式」→「ピクチャ」タブ→「保存場所」 3・「書式設定…

リンクを貼るマクロ

一覧のテキストに対応したシートへのハイパーリンクを追加するマクロ。 ブックの先頭に一覧(目次)があり、その後ろに詳細のシートがあるようなブックにリンクを追加するときに便利。 ※ActiveSheetオブジェクトを使用しているので、実行中にマウス等で他のシ…

複数のブック、シートのセルの値を出力する

指定したフォルダ内にあるExcelファイルのセルの内容をテキスト(CSV)に出力する '-------------------------------------------------------------------------------------- ' ' Excel 値出力 ' (指定したフォルダにあるExcelファイルのセルの値を出力する)…

このファイルはインターネット上の場所から取得されており

インターネット等で取得したExcelファイルを開くと以下のようなメッセージが表示されることがある。 このファイルは 、インターネット上の場所から取得されており、安全でない可能性があります。 クリックすると詳細が表示されます これはExcelの保護された…

全画面で印刷プレビュー

Excel2010のデフォルト設定では全画面での印刷プレビューができない。 しかし、以下の手順でクイックツールアクセスバーに印刷プレビュー(全画面表示)を追加することにより 全画面での印刷プレビューが可能となる。 1.リボンの上にある「クイックツールア…

発行元を確認できませんでした。このソフトウェアを実行しますか?

とあるexeを実行しようとしたときに「発行元を確認できませんでした。このソフトウェアを実行しますか?」の警告が出ることがある。 セキュリティ上、信頼されないexeを実行されるのをブロックしているのだがこの設定が煩わしく思うときもある。 以下の手順…

Excelの緑の三角を消す

Excel 2010でセルの左上にExcelの緑の三角が表示されることがある。 これは数式のエラーチェックを行っているのが原因である。 以下の手順で表示しないようにすることができる。 1.「数式」→「エラーチェック」→「エラーチェック」を選ぶ2.「オプション…

IDENTITYの初期化について

DBCC CHECKIDENTでIDENTITYを再設定した場合、 テーブルをTRUNCATEした直後とそれ以外では値が異なってしまう。 TRUNCATEした直後だとRessedで指定した値が採番されるが、 DELETE等でクリアした場合はRessedで指定した値+1が採番される。 以下、再現するた…

ROW_NUMBER関数

結果レコードセットに連番を付与する関数。 PARTITION BY句を指定することにより、値がブレイクした場合に1から振りなおすような設定も可能。 以下使用例 select *, ROW_NUMBER() OVER(ORDER BY COL2) as 連番 From wk_hoge ↓結果 COL1 COL2 VAL 連番 -----…

エクステントの発生状況を調べる

1.Management Stadioを起動する 2.左のツリーより、対象のDBを選択し、レポート→標準レポート→ディスク使用量でレポートを表示する 3.データ/ログファイルの自動拡張/自動圧縮イベントを開く 動作確認環境:SQL Server 2008 Enterprise Edition

ログ出力

SQLServerのプロシージャからテキストログを出力する例 実行するにはxp_cmdshellの権限を付与しておく必要がある Declare @memo varchae(200) SET @memo = 'echo hogehoge >> C:\hoge.txt' EXEC master..xp_cmdshell @memo 動作確認環境:SQL Server2008 Ente…

VSSのショートカットでユーザを指定

以下のように-yオプションをショートカット指定しておくと ユーザとパスワードの入力を省略することができる "C:\Program Files\Microsoft Visual SourceSafe\ssexp.exe" -y"hogeuser,hogepwd" 動作確認環境:Visual Sorcesafe2005

WITH句

WITH句を使用するとSQLの先頭に仮想のビューのように副問い合わせのビューを定義することができる。 1つのSQLの中に同じ条件の副問い合わせを複数回記述しなければならない場合に使用すると便利 WITH句を使用しなかった場合 SELECT * FROM (SELECT 'test' F…

ページ数を取得するVBA

Excelのページ数をテキストに出力するVBA。 ただし、改ページの設定によっては若干の誤差が発生することがある。 '-------------------------------------------------------------------------------------- ' ' Excel ページ数を取得するスクリプト ' (指…

Start-Transaction

Transaction 系のコマンドレットを使用するとコマンドの処理でトランザクションを使用できる。 以下、トランザクションを使用してレジストリのHKEY_CURRENT_USERにHOGE_KEYを追加するスクリプト RegTest.Ps1 Start-Transaction Set-Location HKCU:\Software …

スクリプトの実行がシステムで無効になっているため

PowerShellのファイル(.ps1)を実行しようとすると以下のエラーが発生することがある スクリプトの実行がシステムで無効になっているため、ファイル D:\...\hoge.ps1 を読み込めません。 詳細については、「get-Help about_signing」と入力してヘルプを参照し…

配置での起動条件

セットアッププロジェクトの起動条件を設定すると、OSや.NetFrameworkのバージョンなど インストール先のコンピュータが満たしておかなければならない条件を指定することができる。 もし、満たしていない場合はインストール時にエラーとなる。 設定する方法…

フォルダ階層を出力するVBS

WSH

指定したフォルダの階層を出力するVBS ファイルのサイズと最終更新日時も併せて出力する ★の箇所を適当に書き換えること '------------------------------ ' フォルダ検索処理メイン '------------------------------ '★定数の定義 RESULT_DIR = "D:\CDLIB" …

OPENROWSET関数

SQL Server 2008の機能でプロバイダ情報を指定することで 他のデータベースやAccess、Excelファイルにアクセスしてクエリを発行することができる機能 (アドホッククエリともいう)。 デフォルトではOPENROWSETは無効になっているため以下のSQLで有効にする必…

ERROR_LINE

エラーの発生した行番号を返す関数。他にもERROR_MESSAGE,ERROR_PROCEDURE等がある。 ストアドでエラーが発生した場合の原因調査に便利。 テスト用スタブ ALTER PROCEDURE procTest @param1 int AS SET @param1 = 1/ 1 SET @param1 = 1/ 0 return 0 テスト用…

SSRSのプレビュー

SSRS (SQL Server Reporting Services)で公開しているレポートに VB.NETからアクセスするにはReportViewer コントロールを使用する。 (ツールボックス→レポート→MicrosoftReportViewer) 使い方はWindows アプリケーション、Webアプリケーションともに同じ 使…

Reporting Services

Reporting Services を使用してレポートを作成するにはレポートサーバを構築し、 その後レポートを作成して配置する必要がある サーバ構築からレポート作成、公開への手順は以下の通り ■レポートサーバを構築する SQL Server 2008 ではReporting ServicesがI…

Windowsのユーザー・アカウント制御を無効にする

ユーザー・アカウント制御(UAC)を有効にしていると管理者権限が必要な操作を実行するときに 「ユーザアカウント制御」の確認ダイアログが表示される。 これが面倒な場合は以下の手順でUACを無効にすることができる。 (ただし、セキュリティ的には有効にして…

BackgroundWorkerコンポーネント

.NetFramework2.0からのマルチスレッドを実現するための機能 BackgroundWorkerコンポーネントを使用するとプログレスバーの表示、処理のキャンセルなどの マルチスレッドのプログラムを作成することができる 「ツールボックス」→「コンポーネント」→「Backgr…