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

STARTUPコマンドで2つあるインスタンスのうち1つしか起動しない場合

Oracleに2つのインスタンス(仮に「dog」と「cat」)が存在していまして、 $ sqlplus sys/(SYSユーザーのパスワード) as sysdba > startup;とインスタンスを起動しようとしたのですが、dogは起動するのにcatは起動しません…。ためしに、 $ echo $ORACLE_SI…

項目の型を変更する

DB2

DB2はOracleとSQL文法が微妙に異なるので、最初はできないのではないかと焦りました(笑)。以下のSQLを実行することで、特定のテーブルの特定のカラムのタイプを変更できます。 ALTER TABLE ALTER COLUMN カラム名> SET DATA TYPE CUSTOMER_TBLテーブルのNA…

項目の型をVARCHAR2からCLOBに変更する方法

単純に、 ALTER TABLE SAMPLE_TBL MODIFY column_name CLOB;と実行すると、 ORA-22858: データ型の変更が無効です。が発生。VARCHAR2からCLOBへの変更は素直にできないようですね。 なので、以下のPL/SQLを実行することで変更できました。 もっとシンプルに…

テーブル構造を取得するSQL

Oracle専用のようです。 DESCRIBE テーブル名;

コントロール・センターでテーブルに設定されている外部参照を確認する

DB2

コントロール・センターの使い方になりますが。 コントロール・センターを起動 対象のデータベースを選択、展開 ツリー部の表をクリックして、テーブルを右側に表示 外部参照キーを削除したいテーブルに右クリックし、ショートカットメニューから「変更」を…

PreparedStatementを使用していて「java.sql.SQLException: 列索引が無効です。」が発生

以下の、 statement.setDate(0, date);が問題。 PreparedStatementにパラメータをセットする時は、第1引数(parameterIndex)を「1からはじめる」必要あり。久しぶりにPreparedStatementを使って忘れていたので、備忘のため日記に書いておきます。

ファイル指定なしでアクセスした際のトップページを変更する(「あなたの予想に反して、このページが見えているでしょうか?」を表示させない方法)

Apacheをインストールしたサーバーに、ファイルやコンテキスト指定なしでアクセスした際、「あなたの予想に反して、このページが見えているでしょうか?」というメッセージの画面が表示されますが、このページを変更したい(任意のhtmlを表示させたい)場合…

SQLコードからエラー内容を調べる

DB2

以下の(IBMの)サイトがいい感じです。 DB2 インフォメーション・センター メッセージ > SQL http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp

数字で始まるテーブル別名をつけると「ORA-00933: SQLコマンドが正しく終了されていません。」が発生

SELECT 123.NAME FROM DSER_MASTER 123;というSQL文を実行すると、 ORA-00933: SQLコマンドが正しく終了されていません。が発生しました。 SELECT 123HOGE.NAME FROM DSER_MASTER 123HOGE;これもだめ。 SELECT !HOGE.NAME FROM DSER_MASTER !HOGE;これだと、…

シェルファイル(.sh)実行時にエラー「bad interpreter」が発生

ローカルで作成した自作ファイルをFTPでLinuxサーバーに配置して実行すると、 bad interpreterが発生。 どうやらこのファイルの改行コードが「CR+LF」になっていたのが問題のようでした。 ローカルのテキストエディタで改行コードを「LF」に変更して、置き換…

起動時にEclipseが使用するパーマネント領域を増やす

AspectJを使い出してからフルビルドを行う機会が増えて、単体テストの実行時に、 java.lang.OutOfMemoryError: PermGen spaceが頻発するようになってしまいました。そこで、Eclipseが使用するパーマネント領域を増やすために、Eclipseのルート位置にある「ec…

表がDROPされると表に対するインデックスもDROPされる

気になって調べましたが、そのようです。 SQL>CREATE TABLE SAMPLE (NUM NUMBER(1,0));表が作成されました。SQL>CREATE INDEX SAMPLE_INDEX ON SAMPLE(NUM);索引が作成されました。SQL>DROP TABLE SAMPLE;表が削除されました。SQL>DROP INDEX SAMPLE_INDEX; …

現在の日付・時刻をセルに入力するショートカット

使ってみると、かなり便利でしたのでご紹介を。 現在の日付を入力 Ctrl + ;(セミコロン) 現在の時刻を入力 Ctrl + :(コロン)

ファイルを「読み取り専用」で開かせる

簡単なマスタ(共有住所録とか)はExcelでぱぱっと作ることが多いのかなと思いますが、Excelで作っていると、誰かが誤って値を書き換えてしまう…というコトがおこりがちになります。これを防ぐために、ファイルを開いた時に読み取り専用で開かせるようにさせ…

パスワードを設定する

以下の手順で、ファイルにパスワードを設定することができます。 Office2000での設定例ですので、読み替えて頂ければと思います。 1. 「ファイル」→「名前をつけて保存」 2. 右上の「ツール(L)」ボタンをクリック 3. 「全般オプション」をクリック上の操作で…

XPlanner Ver.0.6.2 インストールで困った点

インストール時に初期データベースをAntで構築するという手順があるのですが、以下の2点で詰まってしまいました。で、その対応方法も合わせて載せておきます。 インターネットに接続していないサーバーに対してインストールする場合「ant install.db.schema…

セルの枠線を消す(非表示にする)

Excelのセルの枠線は印刷時には印刷されませんが、通常画面にセルの枠線は表示されています。 以下の設定で、画面からもこの枠線を非表示にすることができます。(例は「Microsoft Excel 2000」の場合です) 1.「ツール」→「オプション」を選択 2.「表示」タ…

PL/SQLでループ中に例外が発生しても続行するロジック

PL/SQLで「ループ中に例外が発生した時は、その行だけ飛ばして次の行の処理を実行したい」という場合、ループ内に「BEGIN…END」をもう1つ記述することで実現できます。例えば以下のサンプルは、売上伝票テーブルにある項目「顧客ID」を使用して、別テーブル…

ORA-01841: (周)年は-4713と+9999の間の0以外の数字を指定する必要があります

とあるテーブルにINSERT文を実行すると、 ORA-01841: (周)年は-4713と+9999の間の0以外の数字を指定する必要がありますが発生。エラーメッセージの意味が分からない…と悩んでいたのですが、問題特定ができました。 テーブルのDATE型の項目にシステム時間(sy…

表領域が自動拡張(AUTO EXTENDED)に設定されているのにORA-01536が発生

INSERT文を発行した際に、 ORA-01536: 表領域 USERS に対して割り当てられた領域を使い果たしました。が発生しました。表領域 USERS を確認したところ、確かに表領域は96%くらい使用されていますが、自動拡張(AUTO EXTENDED)に設定されています…。どうやら…

マッピングさせたくない項目に設定するアノテーション

public class User { private String id; private String code; private String name; private Logger logger; … }というクラスをHibernateのEntityクラスにしたいんだけど、loggerは永続化したくないぞ!という時には、そのプロパティに、 @Transientをどう…

jconsole

以前メモリ状況を確認するのに、「visualgc」というツールをご紹介しましたが、J2SE5.0より、標準的にメモリ状況を確認できるツール「jconsole」が同梱されていました。まず起動時のJVM引数に、 -Dcom.sun.management.jmxremoteを追加しておきます。 で、そ…

ファイルサイズを減らす

Word文書やExcelに、大量の画像を添付すると、ファイルサイズが数10Mなどになってしまい、データのやり取りが大変になったり、ファイルサーバーを圧迫したり、あまりにもひどいと編集するだけでメモリ不足になって保存できなくなったり…と悪いことだらけです…

セルの内容が「#########…」と表示されてしまう場合の対処方法

1つのセルに大量の文字列を入力などすると、「#########…」と表示されることがあります。 この現象は、「セルの表示形式」が「文字列」となっているセルに大量の文字列を入力した場合に発生するようです。この書式を「標準」にすると、セルの内容が正しく表…

SQLPlusにSYSDBA権限で接続する

SYSユーザーでOracleに接続する場合、SYSDBA権限で接続しなければいけません。仮に以下の環境だったとして…、 ・SYSユーザーのパスワード:oracle ・接続するSID:orclSQLPlusで接続する場合は、以下のコマンドとなります。■SQLPlus 9.X(Oracle9iのメディア…

「#DIV/0!」を表示させない方法

たとえば、 A B C 1 C1に、A1をB1で割った値を表示させようと、 =A1/B1と式を入れると、C1に、 #DIV/0!と表示されます。 これは、「0での割り算はできません!」というエラーです。なので、C1の式を、 =IF(ISERROR(A1/B1), "", A1/B1)と設定することで、B1の…

JDK 5.0環境でjvmstatを使用する

Javaアプリケーションに対してメモリリークが発生していないかを確認するため、ガベージコレクションがいつ発生しているとか、メモリが現在どのくらい使用されているのかを調べるのに、いつもjvmstatを使用します。J2SE 1.4では、別途jvmstatをインストール…

フリーのWindows用SMTPサーバー「BlackJumboDog」

SMTPサーバーをローカル環境に作成するときに、 ずっと「Apache James」(http://james.terra-intl.com/)を使っていたのですが、いかんせん画面がなく使いづらい…。 (管理画面はCUIで、telnet接続で行うので、ユーザーアカウントとかの管理が特に面倒くさ…

Tomcat5.Xが入っているサーバーにTomcat4.Xをインストールする

Tomcat5.5.23とJDK5.0がインストールされているサーバー(Windows2003サーバー)に、Tomcat4.1.31をインストールしようとしました。Tomcat4.1.31を稼働させるために、JDK1.4.2_12をインストーラーでインストールし(環境変数には登録せず)、Tomcat4.1.31のc…

記号をセルにそのまま入力する

「-こんにちは-」といった文字列をセルにそのまま入力すると、 「数式が不完全です。」というエラーが出て入力が許されません。こういった文字列をそのままセルに入力したい場合は、 '-こんにちは-と文字列の頭に「'」(シングルクォーテーション)を付加し…