Adobe flex/AIR から mysql にアクセスする
-
03-07-2019 - |
質問
Adobe Air/Flexアプリケーションを介してMySQLデータベースに直接アクセスすることは可能ですか?
そうでない場合、次善の代替策は何ですか?
解決
いいえ、AIR にはローカル (クライアント側) SQLite データベースが組み込まれていますが。いずれにせよ、クライアント アプリがサーバー側のデータベースに直接アクセスできるようにすることは実際には望ましくありません。実際には、奇妙な問題が発生し、セキュリティ上の問題が発生する可能性があります。ただし、Web サービスを使用して MySQL データベースを公開することはできます。これ 記事 とても簡単な方法があります。
他のヒント
ODBC クライアントを AIR に組み込むと「奇妙な問題が発生し、セキュリティ上の問題が発生する」というアブドラの意見には (敬意を込めて!) 同意しなければなりません。多くの場合、そのように行われます (例: Java と .NET、どちらもランタイムが同じ)さまざまな ODBC クライアントをパッケージ化します) -- しかし、どちらの投稿者も正しいです。唯一の方法は、AIR アプリケーションに何らかのサービス インターフェイス (WebService、HTTPService などの Flex クラスを使用) と、補完的なサーバー側インターフェイス (PHP 経由の REST など) をコーディングし、MySQL データベースに接続することです。 )。単純なアプリの場合は少し面倒かもしれませんが、今のところできることはこれだけです。:)
幸運を祈ります!
私ははいを試していませんが、mysqlサーバーに接続するためにAS3にネイティブドライバーを実装するプロジェクトがいくつかあります。結局のところ、これは単なるソケット接続であり、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 が優れた代替手段となります。
実際、Adobe は AIR 2.0 で NativeProcess 機能を追加しました。これにより、ユーザーはコマンド ラインの stdin/stdout を介してアプリケーション間でデータを交換できるようになります。欠点は、この機能はクロスプラットフォームではないため、アプリケーションを EXE、DMG、または RPM ファイルとしてコンパイルする必要があることです。MySQL はコマンドライン経由で見事に動作するため、これは非常に良い選択肢となるでしょう。この機能の使用に関するリンクをいくつか示します。
http://blog.omarfouad.com/?p=277http://gotoandlearn.com/play.php?id=125http://gotoandlearn.com/play.php?id=126http://www.adobe.com/devnet/air/flex/articles/air_screenrecording.html