Вопрос

Можно ли напрямую доступ к базам данных MySQL через приложение Adobe Air/Flex?
Если нет, то какая следующая лучшая альтернатива?

Это было полезно?

Решение

Нет, хотя в AIR имеется встроенная локальная (клиентская) база данных SQLite.В любом случае вы на самом деле не хотите, чтобы ваши клиентские приложения имели прямой доступ к базе данных на стороне сервера, это действительно может вызвать странные проблемы и открыть проблемы безопасности.Однако вы можете предоставить доступ к базе данных MySQL с помощью веб-сервисов.Этот статья есть действительно простой способ сделать это.

Другие советы

Мне пришлось бы не согласиться (хотя и уважительно!) с Абдуллой в том, что встраивание клиента ODBC в AIR «вызовет странные проблемы и откроет проблемы с безопасностью» — часто именно так это и делается (например, Java и .NET, обе среды выполнения которых упаковывать различные клиенты ODBC) - но оба автора правы:единственный способ — это вписать в ваше приложение AIR своего рода сервисный интерфейс (с использованием классов Flex, таких как WebService, HTTPService и т. д.) и дополнительный серверный интерфейс (например, REST через PHP, который затем будет подключаться к вашей базе данных MySQL). ).Для простых приложений это может быть немного затруднительно, но на данный момент это все, что у нас есть.:)

Удачи!

Да, я не пробовал, но есть несколько проектов по реализации собственного драйвера в AS3 для подключения к серверу MySQL.В конце концов, это просто соединение через сокет, и приложениям AIR разрешено открывать сокет.Посмотри на http://code.google.com/p/assql/

Я бы не рекомендовал обращаться к базе данных напрямую.Я описываю, как бы я это сделал здесь.

ИМХО, лучший способ получить доступ к любой базе данных из приложения Flex (Air или Flash) — создать веб-сервис.После нескольких попыток работы с PHP я приступил к созданию веб-сервиса WSDL SOAP на C#, и это прекрасно!Из C# я в любое время получил PostgreSQL, MySQL, SQL-SERVER или Oracle.А с помощью Flex Builder вы можете импортировать WSDL, чтобы для вас были созданы объекты и веб-методы, созданные на стороне WSDL, с событиями, прослушивателями и объектами.Пытаться.Для C#, Java или любого другого языка WSDL SOAP является отличной альтернативой.

Фактически, в AIR 2.0 Adobe добавила функциональность 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top