python - 为什么 django jython 连接到 MySQL 数据库会给出 "Communication Link Failure"?

标签 python mysql django tomcat jython

我正在尝试将 django/cPython 应用程序转换为使用 Jython 作为 Tomcat WAR 运行。我们正在使用 mysql 数据库(cPython 中的 MySQLdb/jython 中的 mysql-connector-java-5.1.15-bin.jar)。我已经更改了两种配置之间的 DATABASE_ENGINE。该应用程序在 cPython 上运行良好(在我禁用了 SELinux 对数据库的 http 连接的限制之后)。首页、图像和静态内容在 jython 中工作。但是,当我请求一个访问数据库的页面时,它似乎挂了一会儿,然后返回:

Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. [SQLCode: 0], [SQLState: 08S01]

有没有人见过这个?我最近没有看到任何关于此类或问题的讨论。我正在使用 django 1.2.5,jython 2.5.2。我试过在 Fedora (jre-1.6.0-openjdk.x86_64) 和 Windows (Java(TM) SE Runtime Environment (build 1.6.0_23-b05)) 下运行 Java 应用程序。相同的行为。我还尝试了 mysql-connector-java-5.1.15-bin.jar(最新版本)和 mysql-connector-java-5.1.10-bin.jar(根据 http://packages.python.org/django-jython/database-backends.html 进行了“广泛测试”)。各种配置都不会影响行为。

我该如何解决它或下一步我应该看哪里?

最佳答案

我发现了错误。事后看来,这是显而易见的。我在数据库服务器的IP地址中输入了一个o,但只在jython分支上的配置文件中。结果,Jython 实例挂起,而 cPython 实例没有挂起。当我将两者合并为一个 settings.py 时发现错误(使用“if os.name=='java'”进行必要的 jython 更改。

所以。 . .这里的正确协议(protocol)是什么?我应该删除问题还是保留它以防其他人犯与我相同类型的错误?

关于python - 为什么 django jython 连接到 MySQL 数据库会给出 "Communication Link Failure"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5574482/

相关文章:

java - 如何从 JDBC 中的存储过程获取输出

python - 如何具体识别slowloris攻击?

python - 扭曲的海螺文件传输

php - MYSQL 查询从关系表中检索数据并过滤掉重复项

MySQL 为不存在的记录返回 null

python - Django 从日期到日期的过滤器

python - Jenkins 无法从资源 AntTasks.properties 加载定义

python - 使用带有 Python 子进程模块的 perf 来分析系统性能的稳健或准确的方法

javascript - oTree/django 中的强制 slider

python - 使用 south 重构具有继承的 Django 模型