如何用mysql实现ODBC(JDBC桥)连接数据库?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用mysql实现ODBC(JDBC桥)连接数据库?相关的知识,希望对你有一定的参考价值。
我想在eclipse下面用ODBC(JDBC桥)连接mysql数据库,我在ODBC里面配制数据源的时候,在里面没有找mysql对应的数据驱动程序,是不是还需要添加?
如果要添加该怎么样添加呢?
mysql可以象sqlserver这样实现ODBC吗?
Class.forName("classname");
(2):声明一个Connection接口的对象。如:
Connection conn;
(3)并使用driverManager类的静态方法getConnection建立数据库连接,该方法主要有两种重载形式:
Connection getConnection(String url);
Connection getConnection(String url,String user,String password)
例子:
import java.sql.Connection;
import java.sql.DriverManager;
public class Conn
// 非链接池
public static Connection getConn()
// 建立连接对象
Connection conn = null;
// 说明JDBC驱动类所在位置的字符串,与驱动所在目录对应。
String driver = "com.mysql.jdbc.Driver";
// MySQL的JDBC URL 字符串
// 连接到本地主机,端口为3306,数据库为mysql,
String sourse = "jdbc:mysql://127.0.0.1:3306/dq?characterEncoding=utf-8";
try
// 初始化MySQL的JDBC桥驱动类
Class.forName(driver);
// 使用DriverManager类的getConnection方法建立连接。url=sourse,用户名为root,密码为空。
conn = DriverManager.getConnection(sourse, "root", "");
catch (Exception e)
System.out.println(e.toString());
// 返回连接对象
return conn;
public static void main(String[] args)
System.out.println(Conn.getConn());
// import java.sql.*;
//
// public class mysqlDEMO
// public static void main(String []args)throws Exception
// //说明JDBC驱动类所在位置的字符串,与驱动所在目录对应
// String mysqldriver="org.mm.mysql.Driver";
// //MySQL的JDBC URL字符串
// //连接到本地主机,端口为3306,数据库为mysql,用户名为root,密码为空。
// String url="jdbc:mysql://localhost:3306/mysql?user=root;password=";
// //建立连接对象
// Connection conn;
// //初始化MyJDBC的JDBC桥驱动类
// Class.forName(mysqldriver);
// //使用DriverManager类的getConnection方法建立连接
// conn=DriverManager.getConnection(url,"","");
//
// 驱动需要加载 参考技术A 不清楚
我一般都是用驱动
通过 JDBC 的 Java mySQL 远程连接:ODBC 桥
【中文标题】通过 JDBC 的 Java mySQL 远程连接:ODBC 桥【英文标题】:Java mySQL remote connection through JDBC: ODBC bridge 【发布时间】:2010-06-25 17:40:23 【问题描述】:我在远程连接到 Java 中的 mySQL 数据库时遇到问题。这是我的错误信息:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序
我确定我使用的 ip 地址和端口可以正常工作,因为我正在为 mySQL 客户端程序使用相同的 ip 和端口。
我的托管公司不支持 JDBC,所以我使用的是 JDBC-ODBC 桥。
这是我的课:
public class SQLdataBase
private Connection con;
private Statement st;
private static final String url="jdbc:odbc://xxx.xxx.xxx.xxx:3306";
private static final String className="sun.jdbc.odbc.JdbcOdbcDriver";
private static String user;
private static String pass;
SQLdataBase(String userName, String password)
user=userName;
pass=password;
try
Class.forName(className);
con = DriverManager.getConnection(url, user, pass);
System.out.println("success");
st = con.createStatement();
catch (Exception ex)
System.out.println(ex);
//do whatever database processing is required
public void queryNoReturn(String query) throws SQLException
st.executeQuery(query);
错误发生在这一行: con = DriverManager.getConnection(url, user, pass);
我做错了什么?
【问题讨论】:
你应该联系你的托管公司的支持 【参考方案1】:String url="jdbc:odbc://xxx.xxx.xxx.xxx:3306";
在 ODBC 中,您通常使用数据源名称 (DSN) 而不是 URL 中的主机名:端口。如果这在托管文档中不清楚和/或无法直接显示,那么您需要联系他们以获取确切的 DSN。一旦知道,然后使用以下 URL:
String url="jdbc:odbc:dataSourceName";
【讨论】:
以上是关于如何用mysql实现ODBC(JDBC桥)连接数据库?的主要内容,如果未能解决你的问题,请参考以下文章