用java通过odbc连mysql

首先装一个mysql的驱动程序:mysql-connector-odbc-3.51.12-win32.zip解压点击setup即可,可能会碰到与java运行时有冲突,点击yes即可。

下一步下个mysql-connector-java-3.1.11-bin.jar,把它放在java-sdk的lib库里。

在管理工具的odbc数据源里用户DSN选项卡里添加:mysql odbc 3.51Driver在connector中login选项卡添加:

DataSourceName:user(这里是程序要使用到的名字)

server:localhost

user:root

password:123

Database:user(这里的名字要和mysql中的要使用的数据库名字一样)

点击TEST,测试成功后点确定即可...

写如下程序进行测试:

public static void main(String[] args)
{
Connection connection = null;
Statement statement;
ResultSet resultSet;
//加载驱动程序以连接数据库
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//这个驱动不能是其他的..
connection = DriverManager.getConnection("jdbc:odbc:user","root","123"); //user是data Source ,root是用

//户名,123是进入mysql的密码
System.out.println("open easy");
String query = "Select * from userrole";
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
connection.close();
System.out.println("close easy");

}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex )
{
System.err.println(
"装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex )
{
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
catch (Exception e)
{
System.out.println(e.toString());
}

在运行中输入:net start mysql以启动mysql服务

运行程序测试即可。

### Java 使用 ODBC 连接到 MySQL 数据库 要通过 Java 使用 ODBC 连接到 MySQL 数据库,需要完成以下几个方面的配置: #### 1. 安装并配置 MySQLODBC 驱动程序 确保已经安装了适用于 Windows 或其他操作系统的 MySQL ODBC 驱动程序。可以通过访问官方下载页面获取适合版本的驱动程序[^4]。 - **Windows 平台**: 下载完成后运行安装向导,并按照提示完成安装。 - **Linux/MacOS 平台**: 可能需要手动编译源码或者使用包管理器(如 `apt` 或 `brew`)来安装对应的 ODBC 驱动。 #### 2. 创建数据源名称 (DSN) 在操作系统中设置一个新的 DSN 来指向目标 MySQL 数据库实例: - 打开控制面板中的 “ODBC Data Source Administrator” 工具。 - 添加新的系统 DSN 或用户 DSN。 - 在弹出窗口中选择已安装好的 MySQL ODBC Driver 版本号作为驱动程序。 - 填写服务器地址、端口、用户名以及密码等相关参数,并测试连接以确认其可用性。 #### 3. 编写 Java 程序实现 JDBC-ODBC 桥接功能 虽然从 JDK 8 开始官方建议不再支持 JDBC-ODBC Bridge 方式,但在某些特定场景下仍然可以尝试这种方法。以下是具体代码示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JdbcOdbcExample { public static void main(String[] args) { try { // 加载JDBC-ODBC桥接驱动类 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; // 构建URL字符串形式指定使用的DSN名字 String url = "jdbc:odbc:mysql_dsn"; // 获取数据库链接对象 Connection conn = DriverManager.getConnection(url); // 创建Statement执行查询语句 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM pets"); while(rs.next()){ System.out.println("Pet Name:" + rs.getString(1)); } // 关闭资源释放内存空间 rs.close(); stmt.close(); conn.close(); } catch(Exception e){ e.printStackTrace(); } } } ``` 注意上述方法仅限于旧版环境兼容模式,在现代开发实践中推荐直接采用标准的 JDBC API 而不是依赖第三方桥梁技术[^1]。 #### 4. 替代方案——直接引入 MySQL Connector/J 相比传统的 JDBC-ODBC 方法,更高效稳定的选择是利用专门针对 MySQL 设计的 Type 4 JDBC 驱动程序即 MySQL Connector/J 。它能够提供更好的性能表现并且易于维护更新。相关 URL 格式的定义可参照以下模板: ```plaintext String jdbcUrl = "jdbc:mysql://<host>:<port>/<database>?useSSL=false&serverTimezone=UTC"; Connection connection = DriverManager.getConnection(jdbcUrl, username, password); ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值