Adobe AIR/Flex アプリケーションを介して MySql データベースに直接アクセスすることは可能ですか?
そうでない場合、次善の代替手段は何ですか?
6 に答える
ODBC クライアントを AIR に組み込むと「厄介な問題が発生し、セキュリティの問題が発生する」という Abdullah 氏の意見には (敬意を表して) 同意せざるを得ません。さまざまな ODBC クライアントをパッケージ化します) -- しかし、どちらの投稿者も正しいです。唯一の方法は、(WebService、HTTPService などの Flex クラスを使用して) 何らかのサービス インターフェイスを AIR アプリケーションにコーディングし、補完的なサーバー側インターフェイス (たとえば、 PHP 経由で REST を実行すると、MySQL データベースに接続されます)。単純なアプリの場合は少し面倒かもしれませんが、今のところはそれだけです。:)
頑張ってください!
はい、試したことはありませんが、AS3 にネイティブ ドライバーを実装して mysql サーバーに接続するプロジェクトがいくつかあります。結局、これは単なるソケット接続であり、AIR アプリケーションはソケットを開くことができます。http://code.google.com/p/assql/をご覧ください
データベースに直接アクセスすることはお勧めしません。ここでそれをどのように行うかを説明します。
Flex APP (Air または Flash) からデータベースにアクセスする最善の方法は、Web サービスを作成することです。PHP で数回試した後、C# でビルドされた WSDL SOAP Web サービスにたどり着きました。C# から、PostgreSQL、MySQL、SQL-SERVER、または Oracle をいつでも入手できます。また、Flex Builder を使用して WSDL をインポートすると、WSDL 側で作成されたオブジェクトと Web メソッドが、イベント、リスナー、およびオブジェクトとともに作成されます。試す。C#、Java、またはその他の言語を使用する場合、WSDL SOAP は優れた代替手段です。
実際、AIR 2.0 では、アドビは NativeProcess 機能を追加しました。これにより、ユーザーはコマンド ラインの stdin/stdout を介してアプリケーション間でデータを交換できます。欠点は、この機能はクロス プラットフォームではないため、アプリケーションを EXE、DMG、または RPM ファイルとしてコンパイルする必要があることです。MySQL はコマンド ライン経由で素晴らしく機能するため、これは非常に優れた選択肢となる可能性があります。機能の使用に関するいくつかのリンクを次に示します。
http://blog.omarfouad.com/?p=277 http://gotoandlearn.com/play.php?id=125 http://gotoandlearn.com/play.php?id=126 http://www. adobe.com/devnet/air/flex/articles/air_screenrecording.html
いいえ、AIR にはローカル (クライアント側) SQLite データベースが組み込まれていますが。いずれにせよ、クライアント アプリがサーバー側のデータベースに直接アクセスできるようにしたくはありません。実際に奇妙な問題が発生し、セキュリティの問題が発生する可能性があります。ただし、Web サービスを使用して MySQL データベースを公開することはできます。この記事には、それを行うための非常に簡単な方法があります。