我使用java从Mysql查询一些记录。但是在一些持续时间的查询中,我遇到了一个导致查询失败的问题,而在另一些查询中,它的查询成功了。下一个是错误消息:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 90 milliseconds ago. The last packet sent successfully to the server was 1,674
每次我的日志文件中都会出现on error:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Socket closed
STACKTRACE:
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Nat
我目前正在运行一些java代码,这些代码对mysql数据库进行了大量调用。这些调用正在淹没数据库,在代码运行了几个小时后,我得到了一个嵌套的异常:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1934)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2380)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2909)
at com.m
我有一些遗留的Java代码,它使用数据库连接池(v1.2.2)连接到MySQL数据库,并在用户需要时进行单个查询。
99%的情况下,查询执行得很好,来自MySQL db的响应是即时和正确的。
最近,我注意到一些奇怪的行为:查询无限期挂起。
这是事件跟踪:
Java: get connection from DBCP pool
MySQL: connection is established from <Java machine IP>
# User@Host: <java host>[<java ip>] Id: <...>
我的java代码中有异常。我想从给定的名称中获取Id,在本例中Id是主键。当我在工作台中执行查询时,Mysql查询可以工作:
SELECT client_id FROM client where concat(lastname, " ", firstname) = "Hudson Kate";
但是当我在javacode中使用这个查询时:
public int getClientID(String name) throws SQLException{
int ID = 0;
PreparedStatement myprepStmt
TL;DR:同时使用Hive和MySql JDBC会有问题吗?
我正在开发一个应用程序,该应用程序使用MySql JDBC驱动程序执行多个SQL查询,之后它还使用Hive发送另一个Hive查询。
现在发生的事情是MySql查询工作正常,当代码试图执行Hive查询时,它会抛出这个异常:
com.mysql.cj.core.exceptions.WrongArgumentException: Connector/J cannot handle a database URL of type 'jdbc:hive2:'.
at sun.reflect.NativeConstru
我正在尝试使用JDBC执行创建查询。我有一个创建查询的方法,然后执行它,但是它显示了语法错误。下面是堆栈跟踪:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'supplierId varchar,supplierUrl varchar,totalActiviti
我的mysql数据库的jdbc驱动程序的版本是5.1.25。
我想像这样执行sql查询:
statement.execute("select fullName from user where user_id=1; select fullName from user where user_id=2");
我总是收到异常:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;
我们正在寻找mysql查询,它提供准确的like '%%'查询,但使用全文搜索MATCH AGAINST。
例如
Select id,name from table where jobtitle like '%java software engineer in google%'
它给出了包含google中java软件工程师行的所有行。
但是,如果我们使用下面的mysql查询,则会给出不同的结果
Select id,name from table
where MATCH(jobtitle) AGAINST ('+java software engineer
hibernate原生sql查询有问题。我的查询在下面,并在Mysql上工作。
SELECT c.cart_id, u.name, u.surname, c.totalPrice
FROM sandbox.cart c JOIN
sandbox.user u
ON u.id = c.placedBy
我在代码中使用hibernate,遇到了一个异常。
java.sql.SQLException: Column 'id' not found.
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:10
我不是编程新手,但我是Java新手。我一直在用它为Bukkit编写插件,Bukkit是我的一个服务器包装器。我的问题与此无关,但这是一个纯粹的java问题。
我有一些代码可以在服务器启动时打开mysql连接,但如果我们在一段时间内没有通过我的代码运行任何查询,则下次尝试查询时会显示以下错误:
09:12:58 [SEVERE] Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received
我试图理解在负载下google的IO等待。我使用D1计划,它应该允许100个并发查询。我在仪表板中没有看到任何关于并发查询的统计数据,但是在本地,我有一个64个线程池,所以我永远不能超过64个并发查询(有时还会有2个线程池)。另外,我的IO每秒最高值为20。
转向更大的计划会有所帮助,但只会略有帮助。
而且查询非常简单--选择1,随机选择小顺序。
我所有的64个线程都卡在socketRead()的google上,如下所示:
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream
我正在使用PreparedStatement来执行SQL查询。下面是查询。
select * from DEVICES WHERE device_id in (?,?,?,?)
下面是我得到的错误
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right
syntax to use near '?
我在我的应用程序中使用了BasicDatasource。这个应用程序正在处理大量的原始数据。有时,一次查询可能需要15分钟以上。(使用mysql作为数据库)
这是我的问题,我从池中获取了一个连接,然后对它执行了几个查询。但是当我使用相同的连接超过15分钟时,我得到下面的错误。在mysql服务器中,max_wait设置为180小时,因此保持连接活动应该不是问题,并且没有防火墙规则设置为杀死活动超过一定时间的连接。
你觉得我错过了什么?
The last packet successfully received from the server was 928,374 milliseconds ag
我试图在Apache凤凰中执行一个查询,在那里我使用聚合函数和groupby函数。我已经在mysql中执行了相同的查询,它可以工作,但是在菲尼克斯,我尝试了基于mysql查询的查询,但是失败了。请参阅下面的mysql查询和凤凰查询。
MySQL:
select id3, id4, name, descr, status, min(date) from table1
where status = "inactive" group by id3, id4, name, descr, status
结果:
id3 id4名称下降状态min(日期)
17773 8001300701
在我们的数据库中,我们使用字符集utf8存储所有内容,并使用COLLATE utf8_general_ci。
但是,当从one表查询数据时,我们总是收到以下异常:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Na
当我在mysql中使用时,以下查询成功
INSERT INTO user(`dev_id`,`email`) VALUES('123','456@gmail.com');
但在java jdbc中,我得到了这样的异常:
Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.Statement.checkForD
我正在运行带有mysql 5.1.18连接器的MySQL5.5。一个简单的风格查询
select * from my_table where column_a in ('aaa','bbb',...) and column b=1;
从java应用程序内执行。该查询返回25k行的结果集,每行8列。当读取while循环中的结果时
while(rs.next())
{
MyObject c= new MyObject();
c.setA(rs.getString("A"));
c.setB(rs.getString(