问题标签 [connector-j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 如何将 mysql 与 jdbc 连接器/J 8.0.11 最新 2018 连接?
连接器/J 8.0.11 有一些更改,因为旧代码行无法用于连接。
java - java.sql.SQLSyntaxErrorException:用户'cavnus'@'localhost'拒绝访问数据库'vishipel'
我正在开发一个在 Tomcat 8.0 上运行的 JAX-RS 服务,当尝试访问我服务器上的 Mysql 数据库时出现异常。这是我得到的例外:
这是我的代码:context.xml 来配置 Mysql 连接
在 web.xml 中定义资源引用
这是我用来初始化 DataSource 的代码
使用此代码在我的本地也可以使用。但是当我使用从我的项目导出的war文件部署到我的服务器上的Tomcat时,我得到了这个异常。
我的服务器正在运行 Window Server 2012 R2 Standard 64 位和在 Wamp Server 上运行的 MySql。
我已经将 mysql-connector-java-8.0.11.jar 复制到 Tomcat 的 lib 文件夹中或将其设置为类路径环境。但我仍然有例外
有人好心帮助并给我一个解决这个问题的方法。
太感谢了 !
mysql - MySQL 8 JDBC 异常
//我只是将示例数据库用于我的 java 测试,我在更改连接器 8.0 之后使用 5.0 相同的代码不起作用。我试图解决'SS L',我认为这还不够。
//================================================= =================================================
java - 通过 java.sql.PreparedStatement.setBytes 进行 BINARY 比较的空结果集
我有带有自定义 ORM 的 Percona Mysql 服务器和 Java 客户端。在数据库中,我有表:
我发现SELECT PlayerSecret.player_id FROM PlayerSecret WHERE PlayerSecret.secret = ?
当方法提供参数时,查询返回一个空的结果集java.sql.PreparedStatement#setBytes
,并且按预期工作 java.sql.PreparedStatement#setBinaryStream
。我启用了 mysql 常规日志,发现在这个日志中两个查询是相同的,我在十六进制模式下检查了这个。
在一般日志它看起来像:
以十六进制模式从通用日志中查询参数:
2796 525c d838 fcf5 415c eda4 5ab4 055c d45c cac1 5cd6 27
数据库中的值:
问题是我的 ORM 通过setBytes
方法执行此查询,我认为这是BINARY
数据类型的正确方法,但它不起作用。
编码设置的一部分my.cnf
(也许很重要):
Java代码:
我不明白这两种情况有什么区别,以及如何解决这个问题setBytes
。也许有人可以澄清这一点或指出我的重要部分/地方?
我的环境:
- 开放jdk 11
- HicariCP 3.1.0
- MySQL 连接器/J 8.0.13
- Percona 5.7.24-26-log Percona 服务器 (GPL),版本 '26',修订版 'c8fe767'
java - 连接器 J 安装
所以我查阅了很多不同的视频/教程。我已经阅读了 MySQL 连接器 J 安装指南.. 我仍然非常困惑!
我使用 MySQL Installer 安装了所有 MySQL 产品。
这是安装的图片。 这显示连接器 J 已安装,以及它的当前位置。
所以我读到我需要“设置类路径”——这些话在晚上 x_x 确实困扰着我……但这似乎真的不应该是困难的事情。我去了我的环境变量,并立即注意到目前没有任何东西称为 CLASSPATH 或 classpath 或 Classpath .. 你明白了。它不在那里。所以我创建了一个,但我很肯定这是不对的,或者这不是我的问题所在。这是一张图片:当前类路径的图片
我在很多视频中看到他们说我“必须”下载不同的外部工具才能让它工作,但这对我来说没有意义,而且 MySQL 安装指南也没有提到这一点,加上那些视频都可能过时了。
我试图运行这段代码:
这返回了两个单独的错误:
2 -- 这一个在没有“forName”方法的情况下发生。
任何帮助将不胜感激!!非常感谢
mysql - mysql 8.0.15 用户的哪个 JDBC 连接器
我已经安装了 MYSQL 8.0.15 并且我有mysql-connector-java-5.1.47-bin.jar驱动程序,但是我的连接会失败。我几乎花了一整天的时间,但现在我开始思考:我是否使用了正确的连接器?当我在网站上查看时,它会将我带到以下页面。但我在那里看不到任何司机。
我在哪里可以找到合适的连接器/驱动器?
java - 使用 Connector/J 连接到 MYSQL
我已经安装了 MySQL Workbench 8.0,并试图通过连接器/J 版本 5.1.39 通过 Netbeans 连接到我的数据库。
这是一个在我的 Windows Surface 上运行良好的设置。我正在尝试在我的家用 PC 上复制设置,但遇到了问题。
编码:
当我尝试运行应用程序时,它会捕获异常并打印:
值得一提的是,是的,数据库“账单”存在,用户和密码都正确。我可以使用它们进入 MySQL Workbench 并编辑账单数据库。
我尝试过的事情:
- 我将 Connector/J 目录路径添加到类路径中。
- 我将 Connector/J jar 文件直接添加到项目中。
- 我在项目中添加了“MySQL JDBC Driver”库。
- 我验证了数据库已设置为使用端口 3306 和“标准 (TCP/IP)”连接方法。(我也没有 root 用户的“帐户限制”)
- 我验证了 Windows Defender 防火墙没有阻止 MySQL。(我没有其他防火墙)
- 我验证了 MySQL 服务正在运行
同样,此设置在我的 Surface 上运行良好。我尝试了较新版本的 Connector/J,但遇到了与 MySQL Workbench v. 8 的兼容性问题,因此我决定使用 v. 5.1.39(Connector/J),因为它适用于我的 Surface。
唯一让我知道发生了什么的地方是,当我检查家用电脑上的端口活动并将其与我的表面进行比较时:
在尝试连接到数据库期间观察端口时,我得到以下信息:
为什么我的家用 PC 上没有建立端口连接?这是问题的根源吗?我该如何解决?
如果这不是问题的根源,那为什么我无法连接?
java - MySQL Connector/J 驱动程序是否实现 JdbcRowSet 接口?
我正在尝试通过 Oracle 的“Java™ 教程”了解JDBC基础知识,现在我被困在这里:https ://docs.oracle.com/javase/tutorial/jdbc/basics/jdbcrowset.html 。
对于我的示例,我使用最新版本的Connector/J (mysql-connector-java-8.0.16.jar)来利用MySQL 服务器。到目前为止,司机按预期工作。它连接到 MySQL 服务器,创建数据库、表,用数据填充它们,并用检索到的数据填充普通的ResultSet对象。但是,一旦我尝试创建JdbcRowSet对象并执行 execute(),我就会收到 SQL 异常报告:“找不到合适的驱动程序...”
所以,现在我很怀疑:JdbcRowSet(以及 CachedRowSet / JoinRowSet / FilteredRowSet / WebRowSet)是否只是没有由 Connector/J 驱动程序实现,或者我做错了什么?还是 JDK 11 不再支持此功能?
这是一个例子:
这是输出:
更新(可能的解决方案):
正如评论员在下面提到的,这里描述的问题与 MySQL 是否实现行集无关。对我来说,这似乎只是 JDK 11.0.1 的一个错误,因为一旦我更新了 JDK 12.0.1 的较新版本,问题就消失了,现在创建的 JdbcRowSet 对象没有任何 MySQLException。
java - MySQL 连接器 jar 版本如何影响查询性能?
目前,在我使用 mysql-connector-java:5.1.36 的应用程序中,一切正常。但是当我将连接器升级到 mysql-connector-java:5.1.47 时,一个查询开始需要几分钟到两小时的时间来执行。如果我直接从终端或使用 v5.1.36 的应用程序运行相同的查询,则执行时间不到几秒钟。
MySQL 连接器 jar 版本如何影响查询性能?
mysql - MySQL 的 Connector/J 可以与 MariaDB 一起使用吗?
我正在尝试使用 Connector/J 从这里连接到我的 MariaDB 数据库,但这无法正常工作并且 MariaDB 日志
“[警告] 与 db 的连接 12 已中止:'enwikt_parsed' 用户:'javawiki' 主机:'localhost'(读取通信数据包时出错)”。
`
我突然想到,我只是假设 MySQL 中的 Connector/J 只能与 MariaDB 一起使用,但现在我不太确定。我知道 MariaDB 有自己的 Java API/连接器,但我使用别人的代码来解析维基词典,因此不能使用它。
在我尝试一些更复杂的解决方案之前,我想知道我是否正在尝试修复一些原本不打算以这种方式使用的东西。