0

我编写了一个连接到本地数据库的小型 flex 项目

代码如下:

    _dbData=new DataBaseData();
    _dbData.username="root";
    _dbData.password="woxnsk";
    _dbData.host="192.168.2.225";
    _dbData.port=3306;
    _dbData.database="query";
    _db=new MyDataBase(_dbData);
    _db.addEventListener(Event.CONNECT, onConnected);
    _db.connect();

    _isDBConnecting=true;

该项目在 flex builder 中运行良好,然后我将其部署在我的 wamp 服务器中,但出现了问题。

当我使用 localhost/myproject/login.html 之类的 url 时,我可以访问数据库,但是如果我将 localhost 更改为 127.0.0.1 或 ip 192.168.2.225,它无法连接到数据库,并且错误是违反安全沙箱。

错误 #2044:未处理的 ioError:文本=错误 #2048:违反安全沙箱。:http: //192.168.2.225/bin-debug/QuestionCollector.swf无法从 192.168.2.225:3306 加载数据

我已将 crossdomain.xml 放在服务器的根目录中(C:\wamp\www 或 C:\apache-tomcat-6.0.35\webapps\ROOT),crossdomain.xml 文件为:

    <xml version="1.0"?>
    <cross-domain-policy>
        <allow-access-from domain="*" to-ports="*" />
    </cross-domain-policy>

它不起作用....所以有什么问题吗?谁能帮帮我~

4

1 回答 1

1

1)您可以检查allowScriptAccessallowNetworking选项将您的 swf 嵌入页面:

http://livedocs.adobe.com/flex/3/html/help.html?content=wrapper_13.html

确保授予对您的 swf 的不受限制的访问权限。

url2)您可以从应用程序的属性中提取您的服务器地址。

3)您可以查看应用程序的请求CharlesHTTPAnalyzer发生的情况,crossdomain.xml以及 wamp 是否使该文件可用于所有 IP。

4) 您的数据库是否允许非本地连接?

于 2012-12-23T13:05:31.547 回答