0

我正在开发一个新的应用程序,我的起点是 Spring Roo,所以我遵循与它相同的架构。

我选择 eclipselink 作为我的 JPA 实现,选择 MYSQL 作为我的数据库。

该应用程序的核心是一个网络爬虫,它从特定网站收集 HTML 并处理 HTML,从中提取一些数据,这些提取的数据与 JPA 实体一起保存。

在我的开发环境中一切正常,爬虫运行速度非常快,所有数据都存储在数据库中。

但是,当部署在我的测试环境中时,该环境运行在亚马逊 ec2 之上(使用弹性 beanstalk)并连接到远程 mysql 服务器(一个便宜的 hostgator 计划,因为用于测试的亚马逊 RDS 非常昂贵),数据实际上变得一团糟不是所有的数据,一个特定实体的一个特定字段得到的它的数据都搞砸了。

最有趣的是我调用了persist()方法并在使用同一个实体发送通知电子邮件之后,并且电子邮件数据是正确的,但是当eclipselink(或连接器)发送数据时,它存储了一些奇怪的数据库值,例如:

456d207472c3a26e7369746f207061726120554e49444144452044452054524154414d454e544f20494e5445524e4143494f4e2e2e2e

它正确地保持 1 个值,然后保持 1 个错误。

有没有人经历过类似的事情?

4

2 回答 2

2

当驱动程序和数据库不匹配时,我也遇到过类似的问题。检查您的 jdbc 驱动程序的确切版本是否与您的数据库的确切版本匹配。

于 2012-09-20T21:52:40.767 回答
0

我自己发现了这个错误,它与编码问题有关。

我正在使用 phpmyadmin 浏览这些数据,它不支持我在应用程序中使用的编码类型和数据库类型。

当我用不同的客户端检查数据时,它显示正确。

奇怪的是,即使在 phpmyadmin 上,也只有包含特殊字符的行显示错误

于 2012-09-21T01:38:39.357 回答