各种数据库连接_第1页
各种数据库连接_第2页
各种数据库连接_第3页
各种数据库连接_第4页
各种数据库连接_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、常用jdbc连接数据库方法总结如下: 一、db2 class.forname("c.db2driver"); string url="jdbc:db2:/dburl:port/dbname" cn = drivermanager.getconnection( url, username, password ); 二、microsoft sqlserver(microsoft) class.forname( "com.microsoft.jdbc.sqlserver.sqlserverdriver" ); cn = drivermana

2、ger.getconnection( "jdbc:microsoft:sqlserver:/dbserverip:1433;databasename=master", username, password ); 加载驱动:   class.forname("sun.jdbc.odbc.jdbcodbcdriver");   或: drivermanager.registerdriver(new com.microsoft.jdbc.sqlserver.sqlserverdri

3、ver();连接数据库:   connection con=drivermanager.getconnection("jdbc:odbc:mydatasource","user1","password");   其中:mydatasource: 用odbc建立的关联sql server中的数据库的虚拟目录; user1: 连接数据库的用户名;   password: 连接数据库的密码;三、syba

4、se(jconn2.jar) class.forname( "com.sybase.jdbc2.jdbc.sybdriver" ); cn = drivermanager.getconnection( "jdbc:sybase:tds:dbserverip:2638", username, password); 四、mysql(mm.mysql-3.0.2-bin.jar) class.forname( "org.gjt.mm.mysql.driver" ); cn = drivermanager.getconnection( &qu

5、ot;jdbc:mysql:/dbserverip:3306/mydatabasename", username, password ); 五、postgresql(pgjdbc2.jar) class.forname( "org.postgresql.driver" ); cn = drivermanager.getconnection( "jdbc:postgresql:/dbserverip/mydatabasename", username, password ); 六、oracle(classes12.jar) class.forna

6、me( "oracle.jdbc.driver.oracledriver" ); cn = drivermanager.getconnection( "jdbc:oracle:thin:mydbcomputernameorip:1521:orcl", username, password ); 七、odbc class.forname( "sun.jdbc.odbc.jdbcodbcdriver" ); connection cn = drivermanager.getconnection( "jdbc:odbc:"

7、; + sdsn, username, password ); 加载驱动:   class.forname("sun.jdbc.odbc.jdbcodbcdriver");   或:   drivermanager.registerdriver(new com.microsoft.jdbc.sqlserver.sqlserverdriver();连接数据库:   connection con=drivermanager.getconne

8、ction("jdbc:odbc:mydatasource","user1","password");   其中:     mydatasource: 用odbc建立的关联sql server中的数据库的虚拟目录;     user1: 连接数据库的用户名;     password: 连接数据库的密码;=数据库连接、

9、设计、备份技巧jdbc操作各种数据库经验:    java数据库连接(jdbc)是有一组用编程语言编写的类和接口组成的,jdbc为数据库开发人员提供了一个标准的api,使他们能够用纯java api来编写数据库应用程序,然而各个开发商的借口是不一样的,所以,开发环境的变化会带来一定的配置变化,下面的内容主要是不同数据库的连接方式。 一、链接各种数据库方式速查表 下面列出来各种数据库使用jdbc连接的方式, 1.oracle8/8i/9i数据库(thin的模式) class.forname("oracle.jdbc.driver.oracledriver&

10、quot;).newinstance(); string url="jdbc.oracle.thin:localhost:1521:oracl" oracl为数据库的sid string username="test" string password="test" connection conn=drivermanager.getconnection(url,username,password); 2.db2 class.forname("com.ibm.db2.jdbc.app.db2driver").newin

11、stance(); 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.microsoftsqlserver:/localhost:1433

12、;databasename=mydb" /mydb为数据库 string user="sa" string password="" connection conn=drivermanager.getconnection(url,user,password); 4.sybase数据库 class.forname("com.sybase.jdbc.sybdriver").newinstance(); string url="jdbcybase:tds:localhost:5007/mydb"/mydb为你的数

13、据库名 properties sysprops=system.getproperties(); sysprops.put("user","userid"); sysprops.put("password","user_password"); connection conn=drivermanager.getconnection(url,sysprops); 5.informix数据库 class.forname("rmix.jdbc.ifxdriver").newinstance

14、(); string url="jdbc:informix-sqli:/8:1533/mydb:infomixserver=myserver" user=testuser;password=password; /mydb为数据库的名字 =1 将数据库的jdbc驱动加载到classpath中,在基于javaee的web应用实际开发过程中,通常要把目标数据库产品的jdbc驱动复制到web-inf/lib下. 2 加载jdbc驱动,并将其注册到drivermanager中,下面是一些主流数据库的jdbc驱动加裁注册的代码:   /oracle8/8

15、i/9io数据库(thin模式)   class.forname("oracle.jdbc.driver.oracledriver").newinstance();   /sql server7.0/2000数据库   class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver").newinstance();   /db2数据库   class.froname("com.ibm.db2.jdbc.app.db2driver"

16、).newinstance();   /informix数据库   class.forname("rmix.jdbc.ifxdriver").newinstance();   /sybase数据库   class.forname("com.sybase.jdbc.sybdriver").newinstance();   /mysql数据库   class.forname("com.mysql.jdbc.driver").newinstance();  

17、; /postgresql数据库   class.fornaem("org.postgresql.driver").newinstance(); 3 建立数据库连接,取得connection对象.例如:   /oracle8/8i/9i数据库(thin模式)   string url="jdbc:oracle:thin:localhost:1521:orcl"   string user="scott"   string password="tiger"  

18、; connection conn=drivermanager.getconnection(url,user,password);     /sql server7.0/2000数据库   string url="jdbc:microsoft:sqlserver:/localhost:1433;databasename=pubs"   string user="sa"   string password=""   connection conn=drivermanager.g

19、etconnection(url,user,password);     /db2数据库   string url="jdbc:db2:/localhost:5000/sample"   string user="amdin"   string password=-""   connection conn=drivermanager.getconnection(url,user,password);     /informix数据库   stri

20、ng url="jdbc:informix-sqli:/localhost:1533/testdb:informixserver=myserver;user=testuser;password=testpassword"   connection conn=drivermanager.getconnection(url);     /sybase数据库   string url="jdbc:sybase:tds:localhost:5007/tsdata"   properties sysprops=sy

21、stem.getproperties();   sysprops.put("user","userid");   sysprops.put("password","user_password");   connection conn=drivermanager.getconnection(url,sysprops);     /mysql数据库   string url="jdbc:mysql:/localhost:3306/testdb?use

22、r=root&password=root&useunicode=true&characterencoding=gb2312"   connection conn=drivermanager.getconnection(url);     /postgresql数据库   string url="jdbc:postgresql:/localhost/testdb"   string user="myuser"   string password="myp

23、assword"   connection conn=drivermanager.getconnection(url,user,password); 4 建立statement对象或preparedstatement对象.例如:   /建立statement对象   statement stmt=conn.createstatement();   /建立proparedstatement对象   string sql="select * from user where username=? and password=?&qu

24、ot;   preparedstatement pstmt=conn.preparestatement(sql);   pstmt.setstring(1,"admin");   pstmt.setstring(2,"liubin"); 5 执行sql语句.例如:   string sql="select * from users"   resultset rs=stmt.executequery(sql);   /执行动态sql查询   resultset rs=

25、pstmt.executequery();   /执行insert update delete等语句,先定义sql   stmt.executeupdate(sql); 6 访问结果记录集resultset对象。例如:   while(rs.next)     out.println("你的第一个字段内容为:"+rs.getstring();   out.println("你的第二个字段内容为:"+rs.getstring(2);   7 依次将resultset、statement、

26、preparedstatement、connection对象关闭,释放所占用的资源.例如:   rs.close();   stmt.close();   pstmt.close();   con.close();=mysql:        string driver="com.mysql.jdbc.driver"    /驱动程序     string url="jdbc:mysql:/localhos

27、t:3306/db_name"    /连接的url,db_name为数据库名        string username="username"    /用户名     string password="password"    /密码     class.forname(driver).new instance();  &#

28、160;  connection con=drivermanager.getconnection(url,username,password); microsoft sql server 2.0驱动(3个jar的那个):     string driver="com.microsoft.jdbc.sqlserver.sqlserverdriver"    /连接sql数据库的方法     string url="jdbc:microsoft:sqlserver:/l

29、ocalhost:1433;databasename=db_name"    /db_name为数据库名     string username="username"    /用户名     string password="password"    /密码     class.forname(driver).new instance();  &#

30、160; /加载数据可驱动     connection con=drivermanager.getconnection(url,username,password);    / microsoft sql server 3.0驱动(1个jar的那个): / 老紫竹完善     string driver="com.microsoft.sqlserver.jdbc.sqlserverdriver"    /连接sql数据库的方法   &

31、#160; string url="jdbc:microsoft:sqlserver:/localhost:1433;databasename=db_name"    /db_name为数据库名     string username="username"    /用户名     string password="password"    /密码     c

32、lass.forname(driver).new instance();    /加载数据可驱动     connection con=drivermanager.getconnection(url,username,password);    / sysbase:     string driver="com.sybase.jdbc.sybdriver"    /驱动程序     string

33、url="jdbc:sysbase:/localhost:5007/db_name"    /db_name为数据可名     string username="username"    /用户名     string password="password"    /密码     class.forname(driver).newinstance();

34、60;       connection con=drivermanager.getconnection(url,username,password); oracle(用thin模式):     string driver="oracle.jdbc.driver.oracledriver"    /连接数据库的方法     string url="jdbc:oracle:thin:loaclhost:1521:orcl&quo

35、t;    /orcl为数据库的sid     string username="username"    /用户名     string password="password"    /密码     class.forname(driver).newinstance();    /加载数据库驱动     connec

36、tion con=drivermanager.getconnection(url,username,password);    postgresql:     string driver="org.postgresql.driver"    /连接数据库的方法     string url="jdbc:postgresql:/localhost/db_name"    /db_name为数据可名  

37、;   string username="username"    /用户名     string password="password"    /密码     class.forname(driver).newinstance();        connection con=drivermanager.getconnection(url,username

38、,password); db2:     string driver="com.ibm.db2.jdbc.app.db2.driver"    /连接具有db2客户端的provider实例     /string driver=".db2.driver"    /连接不具有db2客户端的provider实例     string url="jdbc:db2:/localhost:5000/db_n

39、ame"    /db_name为数据可名     string username="username"    /用户名     string password="password"    /密码     class.forname(driver).newinstance();        connecti

40、on con=drivermanager.getconnection(url,username,password); informix:     string driver="rmix.jdbc.ifxdriver"        string url="jdbc:informix-sqli:/localhost:1533/db_name:informixser=myserver"    /db_name为数据可名 &#

41、160;   string username="username"    /用户名     string password="password"    /密码     class.forname(driver).newinstance();        connection con=drivermanager.getconnection(url,usern

42、ame,password); jdbc-odbc:     string driver="sun.jdbc.odbc.jdbcodbcdriver"     string url="jdbc:odbc:dbsource"    /dbsource为数据源名     string username="username"    /用户名     string p

43、assword="password"    /密码     class.forname(driver).newinstance();        connection con=drivermanager.getconnection(url,username,password);=二、如何使用jdbc 1. jdbc编程的步骤: 1.注册驱动 a.通过类装载器 class.forname(drivername) b.直接实例化驱动 driver drive

44、r = new driverimpl(); drivermanager.registerdriver(driver); c.通过jdbc.drivers属性 外部向java程序传递参数的两种方式: 1.program参数: java test a b c 程序中通过string args获取 2.jvm参数: java dname=briup -dage=20 test 程序中通过 properties props=system.getproperties(); string paramprops.getproperty("xxxx");获取 java djdbc.driv

45、ers=drivername:drivername2:. 例如:djdbc.driversoracle.jdbc.driver.oracledriver 2.建立连接 a.通过drivermanager: connection con=drivermanager.getconnection(url,user,password); b.通过java.sql.driver driver driver = new driverimpl(); connection con=driver.connect(string url,properties info); 知道properties的使用方法; 3.

46、创建statement:statement用来发送要执行的sql语句 a.statement:执行不带参数的sql语句,创建:connection.createstatement() b.preparedstatement:执行带参数或不带参数的预编译的sql语句, 下次执行的时候就不要编译和优化了; 创建:connection.preparestatement() c.callablestatement:调用数据库中的存储过程或函数等等,pl/sql 创建:connection.parparecall(); b和c称为同构的statement,a称为异构的statement. 4.执行sql

47、语句 statement.executequery(); 返回类型resultset statement.executeupdate();返回类型int,执行此sql语句所影响的记录数。 statement.execute();返回类型boolean,代表执行此语句是否有resultset 返回,有就是ture。 5.处理结果集 只有select语句才会有结果集返回; while(rs.next() /rs是一个游标,初始时在第一条记录的上面一行。 /每next一次,向下一行。 rs.getstring(1); rs.getint(2); 可以使用位置标识,也可以使用列名来标识(当结果集字段比

48、较多的时候用列名标识法,可以增强程序 的可读性)。 6.释放资源 一般写在finally语句块中。所释放的资源一般有resultset,statement,connection 2.建立连接的步骤: string driver="oracle.jdbc.driver.oracledriver" string url="jdbc:oracle:thin:00:1521:briupdb" string user="briup" string password="briup" /建立几个以后关闭几个

49、哦 connection con=null; statement stm=null; resultset rs=null; try /1.注册驱动 class.forname(driver); /2.建立连接 con=drivermanager.getconnection(url,user,password); /3.创建statement stm=con.createstatement(); /4.执行sql语句 rs=stm.executequery("select * from student"); /5.处理结果集 while(rs.next() string na

50、me=rs.getstring(1); int age =rs.getint(2); system.out.println("name:"+name+"age:"+age); catch(exception e) e.printstacktrace(); finally /6.释放资源,将其放在finally中 if(rs!=null) try rs.close(); catch(sqlexception e) e.printstacktrace(); if(stm!=null) try stm.close(); catch(sqlexception e

51、) e.printstacktrace(); if(con!=null) try con.close(); catch(sqlexception e) e.printstacktrace(); 3. statement接口的比较 答: | statement | preparedstatement | callablestatement - 写代码位置 | 客户端 | 客户端 | 服务器端 - 存放代码的位置| 客户端 | 服务器端 | 服务器端 - 编写代码技术 | java,sql操作 |java,sql操作 | 数据库的程序语言,如pl/sql - 可配置性 | 高 |第一次高,以后低

52、| 低 - 可移植性 | 高 |假设支持pstmt的话高 | 低 - 传输效率 | 低 |第一次低,以后高 | 高 - java中的异常是对象,所有异常的父类是java.lang.throwable。 java中异常采用冒泡处理机制。 error:没有办法处理; exception:可以进行处理。 uncheck exception:不需要进行处理,如:空指针异常,数组越界等等。 check exception:所有实现了exception,必须对其进行处理,否则报错; 要么用try.catch捕获;要么继续向上抛出。 sql server odbc o 标准连接(standard secur

53、ity):"driver=sql server;server=aron1;database=pubs;uid=sa;pwd=asdasd;" 1)当服务器为本地时server可以使用(local);"driver=sql server;server=(local);database=pubs;uid=sa;pwd=asdasd;"2)当连接远程服务器时,需指定地址、端口号和网络库"driver=sql server;server=01;address=01,1052;network=dbmss

54、ocn;database=pubs;uid=sa;pwd=asdasd;"注:address参数必须为ip地址,而且必须包括端口号o 信任连接(trusted connection): (microsoft windows nt 集成了安全性)"driver=sql server;server=aron1;database=pubs;trusted_connection=yes;" 或者"driver=sql server;server=aron1;database=pubs; uid=;pwd=;" o 连接时弹出输入用户名和口令对话框:co

55、nn.properties("prompt") = adpromptalwaysconn.open "driver=sql server;server=aron1;database=pubs;" · ole db, oledbconnection (.net) o 标准连接(standard security):"provider=sqloledb;data source=aron1;initial catalog=pubs;user id=sa;password=asdasd;" o 信任连接(trusted connec

56、tion):"provider=sqloledb;data source=aron1;initial catalog=pubs;integrated security=sspi;" (如果连接一个具体的已命名sqlserver实例,使用data source=servere nameinstance name;但仅适用于 sqlserver2000)例如:”provider=sqloledb;data source=myservernamemyinstancename;initial catalog=mydatabasename;user id=myusername;pas

57、sword=mypassword;”o 连接时弹出输入用户名和口令对话框:conn.provider = "sqloledb"conn.properties("prompt") = adpromptalwaysconn.open "data source=aron1;initial catalog=pubs;" o 通过ip地址连接:"provider=sqloledb;data source=00,1433;network library=dbmssocn;initial catalog=pubs

58、;user id=sa;password=asdasd;" (dbmssocn=tcp/ip代替named pipes, data source的末尾是需要使用的端口号(缺省为1433)· sqlconnection (.net) o 标准连接(standard security):"data source=aron1;initial catalog=pubs;user id=sa;password=asdasd;"或者"server=aron1;database=pubs;user id=sa;password=asdasd;trusted_

59、connection=false"(这两个连接串的结果相同)o 信任连接(trusted connection):"data source=aron1;initial catalog=pubs;integrated security=sspi;" 或者"server=aron1;database=pubs;trusted_connection=true;" (这两个连接串的结果相同)(可以用servernameinstancename代替data source,取值为一个具体的sqlserver实例,但仅适用于 sqlserver2000)o

60、通过ip地址连接:"data source=00,1433;network library=dbmssocn;initial catalog=pubs;user id=sa;password=asdasd;" (dbmssocn=tcp/ip代替named pipes, data source的末尾是需要使用的端口号(缺省为1433)o sqlconnection连接的声明:c#:using system.data.sqlclient;sqlconnection sqlconn = new sqlconnection();sqlconn.conne

61、ctionstring="my connectionstring"sqlconn.open(); vb.net:imports system.data.sqlclientdim sqlconn as sqlconnection = new sqlconnection()sqlconn.connectionstring="my connectionstring"sqlconn.open() · data shape o ms data shape"provider=msdatashape;data provider=sqloledb;d

62、ata source=aron1;initial catalog=pubs;user id=sa;password=asdasd;" · 更多o 如何定义使用哪个协议§ 举例:"provider=sqloledb;data source=00,1433;network library=dbmssocn;initial catalog=pubs;user id=sa;password=asdasd;" 名称 网络协议库dbnmpntw win32 named pipesdbmssocn win32 winsock tcp

63、/ipdbmsspxn win32 spx/ipxdbmsvinn win32 banyan vinesdbmsrpcn win32 multi-protocol (windows rpc)§ 重要提示 当通过sqloledb提供者进行连接时使用以下语法:network library=dbmssocn但通过msdasql提供者进行连接时使用以下语法:network=dbmssocn o 所有sqlconnection连接串属性§ 下表显示了ado.net sqlconnection对象的所有连接串属性. 其中大多数的属性也在ado中使用.所有属性和描述来自于msdn. 名

64、称 缺省值 描述application name 应用程序名称或者当没有提供应用程序时为.net sqlclient数据提供者attachdbfilename或者extended properties或者initial file name 主要文件的名字,包括相关联数据库的全路径。数据库名字必须通过关键字''''database''''来指定。connect timeout或者connection timeout 15 在中止连接请求,产生错误之前等待服务器连接的时间(以秒为单位)connection lifetime 0 当一个

65、连接返回到连接池,当前时间与连接创建时间的差值,如果时间段超过了指定的连接生存时间,此连接就被破坏。它用于聚集设置中在运行服务器和准备上线的服务器之间强制负载平衡。connection reset ''''true'''' 当连接从连接池移走时决定是否重置数据库连接。当设置为''''false''''时用于避免获得连接时的额外服务器往复代价。current language sql server语言记录名称data source或server或address或addr

66、或network address 要连接的sql server实例的名字或者网络地址enlist ''''true'''' 为真时,连接池自动列出创建线程的当前事务上下文中的连接。initial catalog或database 数据库名integrated security或者trusted_connection ''''false'''' 连接是否为信任连接。其取值为''''true'''', ''''false''''和''''sspi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论