. 连接到数据库的方法
答:1) ODBC(Open Database Connectivity) 一个以C语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。 2) JDBC Java版本的ODBC 2. JDBC应用编程接口 4. JDBC Driver的四种类型 5. JDBC开发者接口 6. 使用URL确认数据库 7. javax.sql包JDBC2.0的增强功能 8. 创建一个基本的JDBC应用 9. 注册一个Driver(步骤一) 10.注册一个driver的方法: 1. 建立一个到数据库的连接(步骤二) 2. 经常使用的一些JDBC URL 3. Driver连接方法 4. 创建一个Statement(步骤三) 5. PreparedStatement对象 6. CallableStatement对象 7. Statement接口的比较 8. 执行SQL Statement(步骤四) 9. 处理结果(步骤五) 10. 关闭JDBC对象(步骤六) 11. 数据表和类对应的三种关系: 12. 类间关系的几种表设计: 13. SQL数据类型及其相应的Java数据类型 1. 元数据 2. 事务处理 try 3. 并发控制 4. JDBC 2.0 应用程序编程接口增强功能 5. JDBC 2.0标准扩展 |
||||
|
||||
|
||||
|
||
执行sql语句 |
import java.sql.*; /** // 读取输入的参数 // 数据库的url参数必须输入. // 如果启动程序的时候输入了驱动,那么使用用户输入的参数动态注册数据库驱动 // 建立到数据库的连接。jdbc会使用它所知道的所有的数据库驱动来建立与数据库的连接。 // 创建statement对象来与数据库进行交互 //从命令提示符中读取sql命令 //循环执行用户输入的sql语句 // 输入“quit”,退出程序. // 忽略空行输入 boolean status = s.execute(sql); // 判断是否有更多的记录集 // 每次退出程序或程序出现错误时关闭数据库连接。关闭数据库连接的同时也关闭了所有打开的statements和记录集 int size = metadata.getColumnDisplaySize(i+1); StringBuffer divider = new StringBuffer(linewidth); for(int i=0; i<numcols; i++) divider.setCharAt(colpos[i]-1,'+'); StringBuffer line = new StringBuffer(blankline.toString()); out.println(line); out.println(divider); static void overwrite(StringBuffer b, int pos, String s) { javac ExecuteSQL.java java ExecuteSQL -d com.microsoft.jdbc.sqlserver.SQLServerDrive |
使用jdbc连接SQL Server数据库 |
使用java连接sql server数据库首先需要安装Microsoft SQL Server 2000 Driver for JDBC,可以从微软的网站上下载,然后设置环境变量,CLASSPATH=.;c:/program files/Microsoft SQL Server 2000 Driver for JDBC/lib/msbase.jar;c:/program files/Microsoft SQL Server 2000 Driver for JDBC/lib/msutil.jar;c:/program files/Microsoft SQL Server 2000 Driver for JDBC/lib/mssqlserver.jar。设置了环境变量需要重新启动计算机。
然后使用微软的示例代码来测试一下连接是否可以建立成功:
示例代码如下:
import java.sql.*;
public class Connect{ private java.sql.Connection con = null; private final String url = "jdbc:microsoft:sqlserver://"; private final String serverName= "localhost"; private final String portNumber = "1433"; private final String databaseName= "pubs"; private final String userName = "username"; private final String password = "password"; // Informs the driver to use server a side-cursor, // which permits more than one active statement // on a connection. private final String selectMethod = "cursor"; // Constructor
public Connect(){} private String getConnectionUrl(){
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";"; } private java.sql.Connection getConnection(){
try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password); if(con!=null) System.out.println("Connection Successful!"); }catch(Exception e){ e.printStackTrace(); System.out.println("Error Trace in getConnection() : " + e.getMessage()); } return con; } /*
Display the driver properties, database details */ public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null; java.sql.ResultSet rs = null; try{ con= this.getConnection(); if(con!=null){ dm = con.getMetaData(); System.out.println("Driver Information"); System.out.println("/tDriver Name: "+ dm.getDriverName()); System.out.println("/tDriver Version: "+ dm.getDriverVersion ()); System.out.println("/nDatabase Information "); System.out.println("/tDatabase Name: "+ dm.getDatabaseProductName()); System.out.println("/tDatabase Version: "+ dm.getDatabaseProductVersion()); System.out.println("Avalilable Catalogs "); rs = dm.getCatalogs(); while(rs.next()){ System.out.println("/tcatalog: "+ rs.getString(1)); } rs.close(); rs = null; closeConnection(); }else System.out.println("Error: No active Connection"); }catch(Exception e){ e.printStackTrace(); } dm=null; } private void closeConnection(){
try{ if(con!=null) con.close(); con=null; }catch(Exception e){ e.printStackTrace(); } } public static void main(String[] args) throws Exception { Connect myDbTest = new Connect(); myDbTest.displayDbProperties(); } } 保存为Connect.java,编译执行:
javac Connect.java
java Connect
结果应该显示出来:Connection Successful!
|