关于javaodbc的信息
本篇文章给大家谈谈javaodbc,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA ODBC ACCESS 标准表达式中数据类型不匹配 是怎么回事啊?
- 2、怎样JAVA通过JDBC-ODBC桥访问数据源,配置数据源
- 3、java通过jdbc-odbc连接数据库
- 4、如何使用java动态创建ODBC数据源
- 5、如何配置JAVA的ODBC数据源。
- 6、Java为什么不使用ODBC
JAVA ODBC ACCESS 标准表达式中数据类型不匹配 是怎么回事啊?
你是在发sql是出错还是在rs.get时出错啊:
1、发sql时:如果你的“学号”在数据库里是int类型的,改成:
学号="+guess);
2、rs.get时,这些类型和数据库的数据类型有没有对应上啊:
String
name=rs.getString("姓名");
int
age=rs.getInt("年龄");
String
address=rs.getString("家庭住址");
int
score=rs.getInt("入学成绩");
怎样JAVA通过JDBC-ODBC桥访问数据源,配置数据源
导入java.sql包
一、加载要连接数据库的驱动程序
//Jdbc-Odbc桥 和 Microsoft Access 数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// SQL Server 驱动程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常
二、通过驱动程序管理器得到连接实例
Connection conn=null;
//1.
//1.1建立数据源
conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是数据源名称
//1-2、不建立数据源
conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");
//2.SQL Server
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");
注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序
它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)
三、基于连接对象建立处理器对象
Statement stmt=conn.createStatement();
四、准备sql命令
String sql="select * from Student";
五、执行命令返回结果集
ResultSet rs=stmt.executeQuery(sql);
六、显示结果集
while(rs.next())//只要后面有记录
{
//对当前行的所有字段遍历
for(int i=1;i=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+": ");//显示字段名
System.out.println(rs.getString(i));//显示字段当前值
}
System.out.println();
}
七、关闭资源
rs.close(); //关闭记录集
stmt.close(); //关闭处理器对象
conn.close(); //关闭连接对象
预处理器的应用:
//3.基于连接对象建立预处理器对象
PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");
//4.给预处理对象的参数赋值
pstmt.setString(1,"8888");
pstmt.setString(2,"nemo");
pstmt.setString(3,"accp");
pstmt.setString(4,"sanxianglu");
//5.执行预处理命令
int i=pstmt.executeUpdate();
System.out.println(i+"条记录已成功插入!");
java通过jdbc-odbc连接数据库
实现思路:就是通过ojdbc.jar中提供的方法,直接连接数据库即可,固定代码写法如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCTest {
public static void main(String[] args) throws Exception {
//1.加载驱动
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.创建数据库连接对象
//Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=db","sa","sqlpass");
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?useUnicode=truecharacterEncoding=UTF-8","root","123456");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","Oracle123");
//3.创建数据库命令执行对象
Statement stmt = conn.createStatement();
// PreparedStatement ps = conn.prepareStatement("select * from t_user");
//4.执行数据库命令
ResultSet rs = stmt.executeQuery("select * from t_user");
// ResultSet rs = ps.executeQuery();
//5.处理执行结果
while (rs.next()) {
int id = rs.getInt("id");
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println(id + "\t" + username + "\t" + password);
}
//6.释放数据库资源
if (rs != null) {
rs.close();
}
// if (ps != null) {
// ps.close();
// }
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
如何使用java动态创建ODBC数据源
jdbc数据库连接:1.加载驱动Class.forName(“xxxDriver”)2建立连接:Connection conn= DriverManager.getConnection(url,user,password);(url是连接地址ip端口号和数据库实例名,user用户名,password密码)3获取statement对象:Statement stmt=conn.createStatement();4通过Statement执行Sql语句:stmt.executeQquery(String sql)会返回查询结果集,stmt.executeUpdate(String sql)返回int型,表示影响记录的条数;5处理结果:ResultSet rs=str.executeQuery(String sql);while(rs.next()){
System.out.println(rs.getInt(id));
}
5:关闭数据源:rs.close();
下面是连接各种数据库的方法:
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
如何配置JAVA的ODBC数据源。
package com.bin.struts.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConn2000 {
public static Connection getConn(){
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=//数据库名字";
String user = "sa";
String password = "123";
try {
Class.forName(driver);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
return DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
public static Connection close(){
return null;
}
}
这是2000的连接方法
这是2005的连接串
jdbc:sqlserver://localhost:1433;databasename=//数据库
com.microsoft.sqlserver.jdbc.SQLServerDriver
2000数据库需要打SP4补丁.
并且两个都需要专门的JDBC驱动的
Java为什么不使用ODBC
1)Java不能直接使用ODBC。因为ODBC使用C语言接口,如果让Java来调用本机C代码的话
,那么会在安全、属性、健壮性、应用的可移植性等方面带来困难。
(2)不希望把ODBC C API逐字地翻译成Java API。例如,ODBC使用了大量的易于出错的指
针,而Java取消了这种不安全的指针。现在通过JDBC,把ODBC翻译成具有Java风格的面向对象
的接口。
(3)ODBC难以学习。ODBC把简单功能与高级功能混杂在一起,即便是简单的查询也会带来
复杂的任选项。而JDBC的设计使得简单的事情用简单的做法,仅在必要时才让用户使用高级
功能。
(4)JDBC的Java API提供"纯Java"的解决办法。当使用ODBC时,ODBC驱动器管理程序与驱
动器必须手工地装入到每架客户机上。而JDBC驱动器全部是用Java编写的,JDBC代码则在所
有Java平台(从网络计算机到主机)上都可自动安装,并且是可移植的和安全的。
关于javaodbc和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-02,除非注明,否则均为
原创文章,转载请注明出处。