忍者ブログ
全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
[5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

会社で使っている2台のうち1台をXPからVista (Business)にアップグレードしました。
Windowsエクスペリエンスインデックスという、改造好きがウズウズしてしまうスコアを見ると、グラフィックスの点数は3.3ですが、他はすべて5点以上なので、なかなか快適に動いてくれます。
体感的にはXPより早いですね。

この環境でFlexBuilder2(2.0.147081)を使っていますが、今のところ特にトラブルはありません。
Dreamweaverも問題なさそうなので、引越ししようと思います。

あ、「誰でもわかるAdobe Flex2基礎編」のDVDを買ったんですが、そのままではVistaで再生できませんでした。Vista Businessだと何やらコーデックが足りないようで???
PLEXTOR(PX-750A)のドライブにバンドルされているDVDユーティリティが全滅なのがイタイです。

ちなみにDVDの内容ですが、かなり期待はずれ・・・・・。基礎編とはいえ、Flex2ファーストステップガイドのレベルはあるだろうと思ったのですが。
最後の「サーバとの連携機能」なんて呆然・・・・
続きが出ても買うのは恐ろしいよ。

PR

RedHat ES上のPostgreSQLにWindowsのColdFusionMX7から接続する必要が出てきました。
今までやったことのないパターンです。
PosgreSQLのサーバーはDMZ上になる点も、今までに無いパターン。

とりあえず、イントラ内のFedoraCoreにPosgreを入れて接続してみることにしました。バージョンは8.1.6。
DMZ上にあると、接続できないときの原因切り分けが難しくなりそうだし。

ColdFusionAdministratorのデーターソースの設定はこんな感じ。
posgre1.gif

JDBC URL:jdbc:postgresql://localhost:5432/myDB?charSet=UTF8
Driver Class:org.postgresql.Driver
Driver Name:
Username:xxxxx
Password(16-character limit):xxxxx
Description:


localhostの部分がIPやホスト名。myDBは接続するposgreのDB名。

とりあえずこれで接続してみると・・・・・

やっぱりエラー。

データソース用の接続確認に失敗しました: posgretest
org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
ルート原因 :org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

さて、posgreの勉強です・・・

/var/lib/pgsql/data/pg_hdba.conf
に、接続を許可するホストの設定があるということで、

host all all 10.1.51.0/255.255.255.0 ident sameuser
と追加してみる。
ident と sameuser というパラメータの意味はよくわからず。
で、

 

service postgresql restart

 してみたが、接続できず。同じエラーですね。

もう少し調べると、
/var/lib/pgsql/data/postgresql.conf

tcpip_socket = true
にすべし。 を発見。

ところが、そんなパラメータは無い・・・・見てる資料のposgreのバージョンが古いのかな。

postgresql.confに

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all
という記述発見。
これっぽい。
listen_addresses = '*'
として、restart 

 

お?エラーが変わった。
データソース用の接続確認に失敗しました: posgretest
org.postgresql.util.PSQLException: FATAL: missing or erroneous pg_hba.conf file
ルート原因 :org.postgresql.util.PSQLException: FATAL: missing or erroneous pg_hba.conf file

あら?最初の設定がまずかった?

pg_hba.conf の設定を、

host all all 10.1.51.0/24 ident sameuser
に変更。サブネットの書き方がまずい模様。
restart すると、
データソース用の接続確認に失敗しました: posgretest
org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"
ルート原因 :org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"

認証周りのエラーに変わった・・・・・

  むむむ。

http://www.adobe.com/jp/support/coldfusion/ts/documents/tn18338.htm
この辺のドキュメントを読みながら、そういえばPosgre用のJDBCドライバなんて入れてないなぁ・・・・でも入ってるようなエラーが出てるなぁ・・・・と思い、一応JDBCドライバを入れてみることにする。

http://jdbc.postgresql.org/download.html
・・・なんでこんなに種類があるんだ!? と迷いながらも、JVMバージョンからして、8.1-408JDBC3をチョイス。

サーバーの /cfroot/lib/ フォルダに放り込もうと思って覗いてみると、既に
postgresql-8.1-404.jdbc3.jar
ファイルが置いてありました。
他のColdFusion7のサーバーを見ても入ってません。ということは、データーソース設定をしたときに、ColdFusionが適切なJDBCドライバをダウンロードしたって事ですかね??

JDBCドライバは関係ないということで、再度pg_hdba.confのコメントを読む。

# METHOD can be "trust", "reject", "md5", "crypt", "password",
# "krb5", "ident", or "pam".  Note that "password" sends passwords
# in clear text; "md5" is preferred since it sends encrypted passwords.

 

エラーメッセージにはIdent authentication failedとあるので、[METHOD] ident を trust に変更してみる。

host all all 10.1.51.0/24 trust sameuser

restart すると・・・・・

(^▽^喜) 無事接続できました!

今日、ある映像機器なんかを扱う会社の内覧会に行ってくじ引きをしたら、DS Liteが当たった!
もう、今年の運は使い果たしたと思います。 はい。

さて、

ColdFusionを使っているサイトということで、ちょっと探してみました。
NIKKEIのサイトに結構ありますね。

ラジオNIKKEI
http://www.radionikkei.jp/index.cfm
NIKKEI マネー&マーケット
http://markets.nikkei.co.jp/index.cfm 
NIKKEI Biz Plus
http://bizplus.nikkei.co.jp/index.cfm 
NIKKEI CarNET
http://car.nikkei.co.jp/index.cfm

ルノー
http://www.renault.jp/index.cfm

Logicool
http://www.logitech.com/index.cfm/JP/JA

アカチャンホンポ
http://www.akachan.co.jp/top.cfm

大和証券
http://www.daiwa.jp/index.cfm

マザーズオークション
http://www.mothers-auction.net/index.cfm

ソニーeカタログサイト
http://www.ecat.sony.co.jp/index.cfm

Times24
http://www.park24.co.jp/main.cfm

ADDZEST
http://www.addzest.com/navi/index.cfm

IT Frontier
http://sirius.itfrontier.co.jp/home/index.cfm

最後のIT Frontierは当然といえば当然。

世界最大級の料理コミュニティ クックパッド
http://cookpad.com/
このサイトって全部ColdFusionですね。
ちらちら見える .cfm の拡張子がちょっと嬉しい・・・・

昨日はこれを作りましたよ。
レシピ ホットケーキミックスで【簡単バナナケーキ♪】 by SUSY

YouTubeでピタゴラスイッチのピタゴラ装置やアルゴリズム行進がワールドワイド。
フランス語で字幕のついたアルゴリズム行進とか、1000人弱の囚人(フィリピンセブ島?)によるアルゴリズム行進とか。
百科おじさんの声が名古屋章だった頃から録画で見ているワタシ的にはちょっと嬉しい。
「何してるの?おじさん」コーナーも好きだったが、無くなってしまった。ラーメンズを起用するあたり、NHKもなかなかやるな。と思った次第。

さて、

年末年始中にバックアップジョブが失敗し、Oracleが停止したままになっていたのは問題なので、ColdFusionでOracleの死活を通知させることにしました。

ColdFusionのスケジュールタスク機能を使って、下記のテンプレートを1時間ごとに呼ぶことで実現します。

ColdFusionAdministratorのタスクスケジューリング画面ColdFusionAdministratorのタスクスケジューリング画面

<cfprocessingdirective pageencoding="UTF-8">
<!---
スケジュールタスクとして呼ばれ、Oracleへの接続を確認する。
呼ばれるのは、AM7:00からPM22:30の間、1時間ごと。
メールで通知する。
復旧も通知する。
--->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Oracleへの接続確認をする</title>
</head>
<!--- 初期設定 --->
<cfset orastop = false>
<cfset mailto="cfif@hoge.co.jp,cfif@hoge.ne.jp"><!---メール通知先--->
<cffile action="read" file="d:\Inetpub\wwwroot\CF\pingOracle.txt" variable="oracleStatus"><!--- ファイルから前回の状態を読む。"stop" or "open" --->

 <!--- 接続確認 --->
<cftry>
 <cfquery datasource="tip" name="pin">
 select litemid from techmstl
 </cfquery>
 <cfcatch type="database">
  <cfset orastop = true>
 </cfcatch>
</cftry>

<cfif orastop>
<!--- 停止している場合 --->
 <!--- ファイルにstopを書く --->
 <cfif oracleStatus is "open">
  <cffile action="write" file="d:\Inetpub\wwwroot\CF\pingOracle.txt" addnewline="no" output="stop">
 </cfif>
 <!--- メール通知 --->
 <cfmail subject="STOP Oracle" from="server@hoge.co.jp" to="#mailto#">
Oracleが停止しています。
 </cfmail>

<cfelse>

<!--- 起動している場合 --->
 <!--- 復旧かどうかの確認 --->
 <cfif oracleStatus is "stop">
 <!--- 復旧通知 --->
 <cfmail subject="OPEN Oracle" from="server@hoge.co.jp" to="#mailto#">
Oracleが復旧しました。
 </cfmail>
 <!--- ファイルにopenを書く --->
 <cffile action="write" file="d:\Inetpub\wwwroot\CF\pingOracle.txt" addnewline="no" output="open">
 </cfif>
</cfif>
<body>
</body>
</html>

1時間に1回、データーベースに接続を行い、エラーが帰ってきた場合は、指定されたメールアドレスに通知を行います。また、前回エラーで今回正常だった場合は、「復旧」を通知します。

クエリを発行してデータベースのエラーをcfcatchするわけですが、「復旧」を通知するために、状態をファイルに書き込んでいます。application変数を使ってもいいのですが、ColdFusionやサーバーの再起動があった場合には保持できなくなるので、ファイルに書いています。

cffileで読み書きをしていますが、action="write"のaddnewlineプロパティはデフォルトで"yes" つまり追記になります。日時も含めて書き込み、ログ的に使うなら"yes"ですが、今回は"no"でやってます。
ややこしくならないし。f(^^;)

ColdFusionAdministratorの設定では、7:00 - 22:50 をスケジューリングの範囲にしています。
夜中に携帯が鳴るのも鬱陶しい(というか、夜中止まっても支障ないシステムだ)し、週末の23時からバックアップのためデーターベースを停止させているので。

ということで、今年最初のコードを書きました。

ブログ内検索
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。

情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。

外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・

FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新トラックバック
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
なかのひと
忍者ブログ [PR]