/
データベース
システム開発ブログ
最近の記事
- PostgreSQLのテーブル定義を利用したCSV取り込み
- MySQLのテーブルにインデックスを追加する
- Transact-SQLで動的SQLを使用しての値の取得について
- SQL Serverで文字列を結合する際の注意点
- Accessのmdbの破損について
- my.cnfでinnodb関連の設定後、MySQLが起動しなくなった
- MySQLのデータベースへの接続方法
- Oracle DataPumpユーティリティ(その2)
- Oracle ORA-00932
- MySQL:既定の文字コード以外の文字コードでデータ出力
カテゴリー
- Access (4)
- Android (2)
- Google Apps (1)
- JAVA (6)
- Linux (4)
- Movable Type (13)
- MySQL (2)
- PHP (10)
- VBA (7)
- Webサイト構築・Web戦略 (15)
- Webサイト構築事例 (1)
- Windows (4)
- .NET (6)
- iPhone (2)
- twitter (5)
- その他 (15)
- アクセス解析 (2)
- システム設計 (1)
- システム開発事例 (2)
- システム開発体制 (1)
- セキュリティ (5)
- データベース (20)
- プロジェクト管理 (3)
- 品質管理・テスト (1)
- 帳票 (2)
- 技術活用 (4)
部署
月別アーカイブ
- 2010年9月 (3)
- 2010年8月 (18)
- 2010年7月 (21)
- 2010年6月 (22)
- 2010年5月 (15)
- 2010年4月 (12)
- 2010年3月 (13)
- 2010年2月 (9)
- 2010年1月 (12)
- 2009年12月 (7)
- 2009年11月 (6)
- 2009年10月 (8)
- 2009年9月 (7)
- 2009年8月 (3)
- 2009年7月 (1)
- 2009年6月 (3)
- 2009年5月 (1)
- 2009年4月 (1)
- 2009年3月 (8)
- 2009年2月 (10)
- 2009年1月 (1)
- 2008年12月 (1)






PostgreSQLのテーブル定義を利用したCSV取り込み
ソフトウエア開発部 / データベース
PostgreSQL + PHPのWebシステムで、 マスタメンテナンス系のテーブルのCSV取り込みを実装する必要がありました。 その際に、PostgreSQLのテーブル定義を参照し、項目の型によって、 入力チェックを行うよう実装しました。 下記のSQLを実行すれば、定義が取得できるので、 あとは、PG上からチェックを行うだけです。 SELECT pg_attribute.attname --...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
MySQLのテーブルにインデックスを追加する
産業システム部 / MySQL / データベース
今回はMySQLのテーブルにインデックスを追加する方法をご紹介したいと思います。 初めに、現在のテーブルのインデックスの状態を確認します。 インデックスの表示は以下のコマンドで行います。 SHOW INDEX FROM [テーブル名]; 例)社員テーブルのカラムを表示する -------------ここから--------------------------------------------- ...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
Transact-SQLで動的SQLを使用しての値の取得について
ソフトウエア開発部 / データベース
先日、SQL Server の Transact-SQL でのバッチ処理を久しぶりに作成しましたが、 その際に、動的SQLを扱いました。 よく使うものかと思いますが、記述方法をど忘れしていた為、備忘的に書きます。 通常、テーブルの値をSELECTして変数に値を取得する際には、 以下の様に取得しますが、 SELECT @sName = MemberName FROM M_Member WHER...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
SQL Serverで文字列を結合する際の注意点
流通システム部 / データベース
SQL Server2005以降、文字データ型nvarcharのサイズとして従来の1~4,000の他、 maxが指定可能になりました。 max(正確には2^31-1バイト)もあれば文字数の制限に悩まされる事はまずないと 考えていたのですが、以前、ストアドプロシージャの内部で動的に作成した SQL文字列が4,000文字で途切れる、といった問題が発生しました。 以下に、例を挙げます。 DECLARE ...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
Accessのmdbの破損について
ソフトウエア開発部 / Access / データベース
最近、私が保守を担当しているお客さんで、 Accessの mdb をデータベースとして使用しているシステムがあり、 データベースのバックアップ処理が正常に終わらないとの連絡が有りました。 バックアップ処理の流れは、 ローカルに退避用にmdbをコピーし、 mdbを最適化後に 外部媒体にコピーを行っていたのですが、 最適化中に、約 2GB までmdbが肥大化して途中で終了してしまいました。 通常、md...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
my.cnfでinnodb関連の設定後、MySQLが起動しなくなった
企画開発部 / データベース
MySQLのインストールを行う際、インストール後一度サーバが起動するか確認したあとに、MySQLのパラメータ設定を行う人が多いかと思います。innodbを使用する場合、my.cnfの innodb_data_file_path の設定を行う方が多いと思いますが設定後、MySQLが起動エラーになってしまった場合の対処法をお知らせします。 まず、innodb_data_file_pathのパラメータの...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
MySQLのデータベースへの接続方法
産業システム部 / データベース
業務でMySQLを使用する機会がありましたので、 今回はMySQLデータベースへの接続方法をご紹介します。 まずはデータベースの一覧を表示します。>以下のコマンドを用います。 SHOW DATABASES; DATABASESと複数表示になっていることに注意してください。 DATABASEと単数表示で入力すると以下のようにエラーとなります。 mysql> SHOW DATABASE; ERR...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
Oracle DataPumpユーティリティ(その2)
産業システム部 / データベース
前回、DataPumpユーティリティの特徴などお伝えしましたので、 今回は、使用方法をお伝えします。 ◆◆ EXPORT方法 ◆◆ 1)ディレクトリオブジェクトの作成(sqlplusにて) 【構文】 CREATE {OR REPLACE} DIRECTORY [ディレクトリオブジェクト名] AS [ディレクトリのパス]; 【例】 CREATE DIRECTORY oradata AS 'c...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
Oracle ORA-00932
産業システム部 / データベース
先日あるプログラムを実行したところ、 「ORA-00932: データ型が一致しません: -が予想されましたが-です。」が発生しました。 このエラーはよくよく見るものなのですが、 「DATEが予想されましたがNUMBERです。」など、 明らかに型変換に失敗している旨のメッセージしか見たことがありませんでした。 この部分、「-が予想されましたが-です」が何を示しているのかまったくわからず、 嵌ってしま...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
MySQL:既定の文字コード以外の文字コードでデータ出力
流通システム部 / MySQL / データベース
MySQLでdefault-character-set で指定してある文字コード以外の文字コードで テキストファイル出力をする処理を行いました。 もとはと言えば、IE7でテキストファイルをリダイレクト表示した際に、 ファイル自体がUTF-8であっても自動判別でShift-JISで表示されてしまい、 文字化けを起こしていたため、急遽テキストファイルはShift-JISで出力するよう 変更したいがため...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
PL/SQLからファイルの入出力を行う
システムソリューション部 / データベース
みなさん、こんにちは。 PL/SQLを使ってファイルの入出力を行うには、 UTL_FILEパッケージを使います。 ここで注意点があります。 実際に使う時には、ファイルの入出力を行うフォルダに対して 権限を与える必要があることです。 権限を与える方法は2通りあります。 ■初期化パラメータで指定する utl_file_dirという初期化パラメータがあるので、 そこで入出力を行うフォルダを記述します。 ...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
Oracle Enterprise Managerが使えないときの解決方法
システムソリューション部 / データベース
みなさん、こんにちは。 Oracle10gからはOracle Enterprise Manager(以下OEM)という、 Webブラウザで使える管理ツールがあるのはご存じだと思います。 このOEMですが、マシン名やIPアドレスを変更した場合、そのままでは使えなくなります。 他にも何らかの設定変更によってOEMが使えなくなることがありますが、 その場合どのようにしたらよいでしょうか? 解決方法は、O...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
【MySQL】ストアドで日本語をInsertした際に文字化けしてしまう問題の解決方法
流通システム部 / データベース
MySQLのストアドで、エラーメッセージをInsertした際に、 日本語が文字化けしてしまう現象に遭遇しました。 対象のテーブル、カラムの文字コードセットはutf8であり、 DBの文字コードセットは以下のような状態でした。 character_set_client : utf8 character_set_connection : utf8 character_set_datab...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
【Oracle】自律型トランザクションについて
システムソリューション部 / データベース
みなさん、こんにちは。 自律型トランザクションというのは親のトランザクションとは別に、 子供だけでトランザクションを終わらせたい時に使うことが出来ます。 早速、例を挙げます。 ■ 用意するテーブル -- 自律型トランザクションによりデータが登録されるテーブル CREATE TABLE TABLE1 (COLUMN1 VARCHAR2(40)) -- ロールバックによりデータが登録されないテーブル ...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
PL/SQLのソースコードを難読化する
システムソリューション部 / セキュリティ / データベース
PL/SQLをコンパイルするとデータベースに配置されますが、通常、そのPL/SQLはソースコードを見ることが可能です。 もし、見られたくない情報が記述されている場合、どのような対応策をとればよいでしょうか? 対応策の一つとして、wrapというOracleのユーティリティを使うことで、PL/SQLのソースコードを難読化することができます。 wrapユーティリティはOracleをインストールすると使...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
【Oracle】統計情報を手動で更新する
システムソリューション部 / データベース
Oracleの統計情報の収集はデフォルトでは自動で行われますが、 以下のプロシージャを実行することによって手動で統計情報を更新することができます。 BEGIN --テーブル単位の収集 DBMS_STATS.GATHER_TABLE_STATS ( OWNNAME => 'ユーザ名' ,TABNAME => 'テーブル名' ,METHOD_OPT => '...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
MySQLでrootユーザーを使用してはいけない理由
事業開拓部 / データベース
Webアプリケーションを開発している際、便利であるが故rootユーザーを 使ってしまうことが多々あるかと思います。 開発の段階でもできればrootユーザーは使わないようにしたほうが良いのですが、 特に実際の運用の段階でrootユーザーを使うことは禁止すべきです。 名前からもわかるように、管理者権限を持っているユーザーですので、 万が一アプリケーションに不備があり外部からDB操作が行われてしまうよう...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
フォーマットファイルの区切り文字指定に一工夫
ソフトウエア開発部 / データベース
以前、csvファイルのデータをSQL Serverへ取り込む必要があり、 BCPコマンドを利用する機会がありました。 その時はフォーマットファイルを用いてcsvファイルの取り込みを行ったのですが、 ダブルクォーテーションで囲まれたデータの取り込みが思うようにいかずに苦労しました。 例として、次のようなサンプルデータを考えます。 "1","東京都","5940" "2","大阪府","4660" "...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
シノニムとは? 大規模システム開発におけるセキュリティ
産業システム部 / データベース
シノニムとは、オブジェクト(テーブル・ビュー・プロシージャ・ファンクション・パッケージなど)に対する別名のことです。 シノニムを作成 >CREATE SYNONYM TEST_USER.TEST FOR MASTER.EMP; そうすると、TEST_USERは下記のようにMASTERのEMP表にアクセスすることが出来ます。 >SELECT * FROM TEST; シノニムを使用する一番のメリット...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。
Oracleのデータベースが正常に起動できない場合の問題の切り分け
システムソリューション部 / データベース
Oracleのデータベースが正常に起動できない場合の 問題の切り分けについて説明します。 まずはその前提知識として、Oracleのデータベースがどのような段階を経て 起動するかという部分について知っておく必要があります。 Oracleのデータベースには以下のような状態があります。 1. SHUTDOWN 2. NOMOUNT 3. MOUNT 4. OPEN 1.のSHUTDOWNが停止状態、4...
続きを読む→
[PR] システムリフォームを諦めていませんか?他社製のシステムも直します。