最新画像一覧   /    おもしろブログが満載! シャッフル ブログ  /     無料登録  
容量2GB!アクセス解析&動画ファイルも可能な無料ブログ。アフィリエイト完全対応。

XAMPPにてApacheの起動に失敗する

  1. 2011/01/15(土) 18:39:52|
  2. 開発時の障害記録|
  3. トラックバック:0|
  4. コメント:0
現象
XAMPPを起動し、Apacheを起動するためにstartボタンを押したが、Apache startedと表示されるだけで、
Apacheが起動しない。



Apacheを強制的に起動させようと、/xampp/apache_start.batを起動するも、”apache” is not started.とメッセージが表示され、
起動に失敗する。
Skypeを落としても同様の現象が発生

対処内容
/xampp/setup_xampp.batを起動し、環境変数を設定した。

対処結果
Apacheが起動するようになった。
とくに環境を変更した事はなかったのだが、
なぜ止まったんだろ?真相は藪の中。

参考URL
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1339785743

関数の呼び出し箇所で処理がとまる「関数を指定してください」というブラウザのエラーメッセージが表示される。

  1. 2011/01/03(月) 22:18:50|
  2. 開発時の障害記録|
  3. トラックバック:0|
  4. コメント:0
■障害の現象
関数の呼び出し箇所で処理がとまる「関数を指定してください」というブラウザのエラーメッセージが表示される。

■原因
関数名と同じ変数が宣言されていた

■具体例
function editCondition(condition, subCondition)
{
editCondition = '';


■対策
関数名と変数名を違う名前で定義しなおした。
function funcEditCondition(condition, subCondition) //関数名をfuncEditConditionに変更
{
editCondition = '';


■対処後の結果
正常に動作するようになった。



YahooPipeを用いたAmazonアプリにてResponseGroupを変更すると403エラーにて検索が失敗する現象が発生。

  1. 2010/11/23(火) 21:25:37|
  2. 開発時の障害記録|
  3. トラックバック:0|
  4. コメント:0
【障害内容】
ResponseGroupを変更すると403エラーにて検索が失敗する現象が発生。


【障害発生時のログ】
YahooPipesのログ

null
error fetching http://ecs.amazonaws.jp/onca/xml
?AWSAccessKeyId=AKIAIWKGYMGTS7RQFQMQ
&Condition=New
&ConditionSpecified=1
&ItemId=B00005F59Z%2CB00005ECB6%2CB000007VPO%2CB00000769J%2CB000GW88CO
&Operation=ItemLookup
&ResponseGroup=Images%2CSalesRank%2CItemAttributes%2CReviews
&Service=AWSECommerceService
&Timestamp=2010-11-23T02%3A44%3A21.000Z
&Version=2009-03-31&Version=2009-03-31
&Signature=ZWyzaopVY93wXvQM8CK4BRFlI53lJwVv%2Fr7c%2FNVI4QE%3D&MerchantId=All (403 Forbidden)

【原因】
ResponseGroupをYahooPipesにて固定値で持って
いたため、ResponseGroupを変更すると不整合が発生。検索に失敗していた。

【対処方法】
YahooPipesのResponseGroup定義を固定値から変動値を読み込む方式に変更した。

YahooPipesを使うとプログラム改修の影響がいろんなとこに出る・・

このコマンドに関連づけられているDataReaderが既に開かれています。このコマンドを最初に閉じる必要があります。

  1. 2010/11/07(日) 12:12:41|
  2. 開発時の障害記録|
  3. トラックバック:0|
  4. コメント:0
エラー内容
DB検索処理にて「このコマンドに関連づけられているDataReaderが既に開かれています。このコマンドを最初に閉じる必要があります。」
というエラーメッセージが表示された。


原因

select処理の実行後にOleDbDataReaderのclose処理を実行していなかった。

問題のコード

dRead = com.ExecuteReader();
//BrowseNodeIDがItemに登録されていない場合、BrowseNodeへの登録を実施する

if (dRead.HasRows == false)
{
  //DBコマンドの作成
  com2 = new System.Data.OleDb.OleDbCommand
 ("REPLACE into  BrowseNode (BrowseNodeID,BrowseNodeName)
 values(@BrowseNodeID,@BrowseNodeName)", cn);

  //パラメータ設定
  parm0 = com2.Parameters.Add("@BrowseNodeID", OleDbType.WChar, 10);
  parm0.Value = (string)alBrowseNodeID[i];

  System.Data.OleDb.OleDbParameter parm1 =
 com2.Parameters.Add("@BrowseNodeName", OleDbType.WChar, 100);
  parm1.Value = (string)alBrowseNodeName[i];

  //REPLACE処理
  com2.ExecuteNonQuery();
}
dRead.Close();

↑このClose処理が無かった

インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。

  1. 2010/11/07(日) 11:57:20|
  2. 開発時の障害記録|
  3. トラックバック:0|
  4. コメント:0
エラー内容
テーブルの検索処理にて下記のメッセージが発生した。
「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を
変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。」


原因

selectとREPLACEのDBコマンドを同じOleDbCommandに対して定義していた。

問題のコード
System.Data.OleDb.OleDbCommand com;

com = new System.Data.OleDb.OleDbCommand("select BrowseNodeID FROM BrowseNode WHERE BrowseNodeID = @BrowseNodeID", cn);
com = new System.Data.OleDb.OleDbCommand("REPLACE into BrowseNode (BrowseNodeID,BrowseNodeName) values(@BrowseNodeID,@BrowseNodeName)", cn);
↑select文を定義したものと同じOleDbCommandに対して、REPLACE文を定義していた。
 そのため、selectしようとした場面でREPLACEし、主キーの重複が発生した。


対処

System.Data.OleDb.OleDbCommand com;
System.Data.OleDb.OleDbCommand com2;

com = new System.Data.OleDb.OleDbCommand("select BrowseNodeID FROM BrowseNode WHERE BrowseNodeID = @BrowseNodeID", cn);
com2 = new System.Data.OleDb.OleDbCommand("REPLACE into BrowseNode (BrowseNodeID,BrowseNodeName) values(@BrowseNodeID,@BrowseNodeName)", cn);
↑selectとREPLACEでOleDbCommandを別に定義した。

DTIブログって?

次のページ