Next Page

1

Previous Page

Thread: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは

Created on: 12/03/10 01:17 PM

Replies: 15

camR


新米


Joined: 12/13/09

Posts: 9

CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/01/10 10:06 PM

はじめて書き込みさせていただきます。

本当に初心者の方のような質問で、ごめんなさい。

現在、

・ColdFusion 9 (ビルトインWebサーバ)
・Flex 4.1 (Flash Builder 4)
・MySQL 5.1.37 ( XAMP 1.7.2 経由:ローカルサーバです)

で、アプリケーションを作っているのですが
Flex SDKを 4.0 から 4.1 へアップグレードしたころから、
以前、問題のなかった
CREATE、UPDATE、DELETEのサーバデータ更新系のみが、
全く通らなくなってしまいました。
Flash Builder のネットワーク・モニター・ビューで監視していても
更新系だけが通っていないのです。
(表示系などは全く問題ありません)

�FLEXのアプリケーションでの設定
「データ操作」は有効にしてあります。

�ColdFusion Administratorでの設定
 ・データとサービス「データソース」
  「接続の無効化」=解除
  「使用可能なSQL」=全てにチェックを入れています。
・データとサービス「Flex統合」
  「Flash Remoting サポートの有効化」=のみチェックしています。

という状況なのですが、
何だか、よくわからなくなってしまって、こちらに書き込ませていただきました。
非常に基本的な「何か」のような気がするのですが、
こんな情報で、おわかりになる方、どうか、ご教授いただけませんでしょうか。
よろしくお願いいたします。

Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 1:33 AM

INSERT、UPDATE、DELETEを使ったページをブラウザーで表示しても何もエラーは表示されないんですかね。
administratorのディバグ情報は有効になっていますか。
 「使用可能なSQL」も全てにチェックが入っているということですし、SQLのselectは大丈夫みたいなので、Flash Builderの問題というよりは何か他のような。
RDSが設定されているならFlash BuilderのRDSデータビューのRDSクエリービューに直接SQL構文を入れて試してみてはどうですか。

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 7:48 AM

早速のレスポンス、ありがとうございます。

そうなんです。
実行時に
エラーでも出てくれれば、もっと早い時期に気づいたと思うのですが(CF Adminのデバッグ情報は有効化されています)、
データベース・レコードを見ていて、更新されていないことが判明した次第なんです。
そこでFB側の
ネットワークモニターで監視すると、
AXLさんの仰る通り、SELECT系は問題なく動いているのに、
サーバーデータ更新系だけが、素通りされているという....
(これも、AXLさんの仰る通りFBに問題はないと思います)

CFの何か、なのかもしれませんが、
何をいじったら良いのでしょう。
固定概念があるからなのか、パニックになっているからなのか
訳がわからなくなってしまいました。
何か、お気づきの点、ありましたら、ご教授ください。
よろしくお願いいたします。

ちなみにRDSの設定はありません。


Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 12:13 PM

ColdFusionとMySQLのコネクション辺りがあやしそうなので
こちらをチェックしてみてはどうですか。
http://coldfusion-style.jp/modules/newbb/viewtopic.php?topic_id=353&forum=4&post_id=1258#forumpost1258

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 2:14 PM

お昼間に、わざわざ、ありがとうございます。

日本語を使うことはないのですが
為念、「接続文字列」は斯様に設定してあります。
けれども本当に、お気遣い、お返事をいただけるだけで、大変ありがたく思っております。

AXLさんのご指摘通り、
私もコネクション周りを探りつつ、
いや、セキュリティ系かとも思い、CFCを見返したり・・・。
ハマり中です。

また何かお気づきのことがありましたら、
お教えください。
よろしくお願いいたします。

Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 4:05 PM

XAMPがインストールされているとのことなので、その辺のところに何か不都合がないかオフィシャルサイトなどで確認してみてはどうですか。
あとphpMyAdminで直接SQL構文を書いて INSERT, UPDATE, DELETEができるか確認してみるのもいいと思いますよ。。
正常にできるようでしたら、cfqueryタグだけのページ(ほかのコードやファイルなどがあると原因がしぼりずらいので)を作ってINSERT, UPDATE, DELETEが可能かどうか確認してみてください。 それで可能ならたぶん現在制作されているプロジェクトのコードのどこかに欠陥があると思うので、それを探して修正すれば問題は解消されると思うんですが。

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 6:55 PM

早急なお心遣い、ありがとうございます。
いろいろと、すみません。

早速、単純な cfqueyのページを書いて、
テストしたところ、
CREATE、INSERT、UPDATE、DELETEともに
無反応でした。

また、
SQLのダイレクト操作は、問題なく動いています。

XAMPとの絡みは、オフィシャルには何もないので
海外を漁っております。
どこかに、何かヒントがあると良いのですが・・・

何か、またお気付きのことがありましたら、
ご教授ください。

Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/02/10 9:51 PM

selectは大丈夫なんですから、administratorページのMySQLのデータベースの接続のステータスはOKなんですよね。もう一度確認してみてください。
最後に、ColdFusionを再起動してみてください(念のためMySQLも)。再起動後、新しいMySQLのデータベース(アドバンス設定はいじらず、データソース名、データベース、サーバー、ポート、ユーザー名とパスワードを設定して接続のステータスを確認する)とテーブルを作ってください。テーブルはフィールドが2つの簡単なもので結構です。それと前に作ったcfqueryだけのcfmファイルを使って(もちろん新しいテーブルの内容に変更して)、select, insert, update, deleteを試してみて下さい。それから、resultをcfquery内に追加してみてください。
例えば。
<cfquery name="qInsert" datasource="myData" result="result">
INSERT INTO user(name)
VALUES('aaa')
</cfquery>

<cfdump var="#result#" label="Insert Result">

再起動によって問題が解消されましたかね。それともcfdumpによって何かヒントを得ることができましたかね。

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/03/10 4:31 PM

ご丁寧にお気遣い、また
ご指南、ありがとうございます。

CFプロジェクトを書く前に、
ふと
AXLさんに頂いた最初のアドバイスを思いだし、
再度、RDS設定してから、
クエリビューアにSQLを叩いたところ

INSERT、UPDATE、DELETE ともに
エラーを返されます。
「Can not issue data manipulation statements with excuteQuery()」

(SELECTは、問題なく返してくれます)

コネクトの問題しょうか....。
このエラーで、お気づきのことがありましたら、
ご教授ください。

本当に、お手数をおかけします。

Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

Re: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/03/10 10:17 PM

前回のテストファイルでだめだったのででRDS接続も無理でしょうね。
一応テストファイルの(cfqueryだけのファイル)のコードを見せて頂けますか。
あと、Administratorページに登録してあるデータソースは問題のあるその1つだけでしょうか。
もし他にもある場合、他すべてにも同様の症状が出ていますか。
もしデータソースがその問題のある1つだけの場合は、前回にお話ししたことを"正確"に実行してみてください。
その場合は次のことも付け足してください。
- 再起動する前にColdFusionの最新のパッチをあてる。
- 新しいデータソースの設定でMySQL(4/5)のドライバーを選択する。

selectが大丈夫なんで問題はないとは思いますが、一応ファイアーウォールなどがインストースされている場合はポートがブロックされていないかどうか念のため確認してください。

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

RE: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/05/10 9:28 PM

色々と、お手間を取らせてしまって、すみません。

AXLさんの前回ご指南の通り、
ColdFusion最新パッチに、
新規のデータソースで手順を踏もうと思ったところ、
CF9 Adminのデータソース追加の段になって、エラーが出現しました。
「データソース用の接続確認に失敗しました :C9test
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
ルート原因 :com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.」
それまで使用していた(今回問題になった)データソースにエラーが出ることはないのですが
新規に「追加」を行おうとすると、
このエラーが必ず出ます。
ドライバなのかとも思い、
とりあえず、MySQL/JDBCドライバをダウンロードし、「JavaとJVM」の
クラスパスへフルパス記述してみたのですが
全く変わらずのエラーがでてしまいます。
またしても、よくわからなくなってしまいました。

もしかすると、
作業環境のPCが悪いのかとも疑い始めています。
まっさらな作業環境から出直した方が良いでしょうか(笑)

Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

RE: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/06/10 12:30 AM

ColdFusionをアンインストールして再インストールした方が手っ取り早そうですね。
Flash Builder関係はこれに目を通してみてください。
http://kb2.adobe.com/cps/840/cpsid_84098.html

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

RE: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/06/10 8:06 AM

AXLさん

これまで目に入っていなかった所にまで、スポットを当てていただいて
ありがとうございます。

一読してみて思い当たるフシがあります。
ColdFusion Builder + FlashBuilder + Eclipce周りが臭いかもしれません。
というのも
上記は、
Flex Builder → Flash/ColdFusion Builderプレビュー版 → ベータ版 → 製品版
のインストール・サイクルを繰り返して
現在の(問題のある)使用環境となっているため
かなりグズグズになっているはず。
これを機に、問題の環境を「清浄化」してみようかと思います。

色々とお気遣いいただいて、本当にありがとうございます。
結果レポートは、また状況が整い次第あげさせていただきたいと思います。

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

RE: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/22/10 3:27 PM

AXLさん

ご報告が遅れてしまって、すみません。

その後、件の環境マシンを、OSからクリアインストールし
ColdFusion、Flash Builder、ColdFusion Builder も再インストール。
XAMPPはインストールせずに

MySQL 5.1.5.4

の環境下で、

以前、AXLさんにご教示いただいた通り、
カラム2つのみのテーブルで
cfqueyページでのテストを行ったところ、
INSERT、UPDATE、DELETE ともに、正常に動作するようになりました。

ちなみにソースは

(c9Tpage.cfm)
<cfprocessingdirective pageencoding="utf-8" />
<cfinvoke component="c9Cud" method="createC9">
</cfinvoke>

(c9Cud.cfc)
<cfcomponent>
<cffunction name="createC9" datasource="cf9test"
returntype="any" access="remote" output="false" >
<cfquery datasource="cf9test" name="qInsert" result="result">
INSERT INTO cf9test (cf9_id, cf9_ent)
VALUES ('12', 'Ent12)
</cfquery>
<cfdump var="#result#" label="Insert Result">
</cffunction>
</cfcomponent>

こんな感じでの実行です。

ところが!

このテーブルを利用し、
Flash Builder の DCDコード生成を使い、
単純なCRUD確認用のアプリケーションを作って実行させたところ、
SELECT系はOK、
INSERT、UPDATE、DELETE は前回同様、ことごとくスルー、
データは更新されないという状況になることがわかりました。

AXLさんのご指摘のおかげで、
セキュリティなし、サードパーティ品なし、の純正すっきり環境を構築でき
ColdFusionやMySQLに罪がなかったことがわかりました。
どうやら、FB4 の DCD に大きな問題があるようです。
同じ問題に当たる方、結構いらっしゃる気がするのですが、
どうなんでしょう?
ここからは、FxUGさんの領分になりそうなので
あちらにも、ご相談させていただこうと思っております。

いろいろと、
お手数をかけていただいて、本当にありがとうございました。
また、何かお気づきの点、情報等ありましたら
お聞かせください。
よろしくお願いいたします。

Link | Top | Bottom

AXL


長老


Joined: 02/02/08

Posts: 246

RE: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/22/10 11:26 PM

Adobe CFC Generatorを使ってデータベースのテーブル用のCFCを生成したってことですかね。
もしそうでしたら、生成されたcfc内の不具合の出る箇所のコードを調べてみましたか。
調べれば分かりますが、修正が必要な箇所があるはずですよ。

あとサンプルのコードでoutput="false"だと<cfdump>を使っても何も表示されませんよ。
* Last updated by: AXL on 12/22/2010 @ 11:44 PM *

Link | Top | Bottom

camR


新米


Joined: 12/13/09

Posts: 9

RE: CF9 + MySQL + FLEX4 でデータ操作が効かなくなるのは
12/28/10 11:33 AM

AXLさん

色々とお騒がせし、また大変お手数をおかけしました。

ASに、サーバコミットを追加することで決着いたしました。
CFが悪いわけでも、MySQLが悪いわけでもなく、
単に私の技量不足です。
ただ、今回の一件でコネクション系を洗いざらい再学習でき
何よりも大きな収穫でした。
ひとえに、AXLさんの丁寧なご指摘あってのもの。
本当に、ありがとうございました。
今後も、フォーラムを覗かせていただきながら
糧とさせていただければと思っております。

Link | Top | Bottom

Next Page

1

Previous Page

New Post

Please login to post a response.