1. 数据库连接
本文将以sql server数据库为例,讲述通过connectionpool and datasource访问数据库的方法。
1. 安装微软提供的驱动程序
安装jdbc for sql server的驱动程序,从微软的网站上http://www.microsoft.com/downloads/details.aspx?familyid=4f8f2f01-1ed7-4c4d-8f7b-3d47969e66ae&displaylang=en下载jdbc驱动程序,点击setup.exe,安装驱动程序。修改weblogic 7的classpath,加入
%sqlserver_jdbc%\lib\msbase.jar;
%sqlserver_jdbc%\lib\mssqlserver.jar;
%sqlserver_jdbc%\lib\msutil.jar
,重新启动weblogic
2. 配置weblogic。
具体步骤:
connectionpool与datasource的联合使用,步骤:
1) 建立一个连接池(connectionpool).
a.在console的菜单中选择,services/jdbc/connection pools
b.点击configure a new jdbc connection pool…
c.在configuration/general页签中填写(这里根据不同的jdbc驱动填写的参数不同)
方法一:使用微软的jdbc for sql server驱动程序:
name:sqlserverpool
url:jdbc: jdbc:microsoft:sqlserver://localhost:1433;databasename=master
driver classname: com.microsoft.jdbc.sqlserver.sqlserverdriver
properties(key=value): user=sa
password=sa
方法一:使用bea的jdbc for sql server驱动程序(存在中文问题)
name:sqlserverpool
url:jdbc: jdbc:microsoft:sqlserver://localhost:1433;databasename=master
driver classname: com.microsoft.jdbc.sqlserver.sqlserverdriver
properties(key=value): user=sa
password=sa
d.点击create
e.configuration/connections tab:
initial capacity:1
maximum capacity:5
其余默认
f.点击apply
g.targets/servers tab:
选择myserver,点击apply!如果,没有报错,即证明创建连接池成功!
2) 将连接池映射成数据源(datasource).
a.在console的菜单中选择,services/jdbc/data sources
b.点击configure a new jdbc data source…
c.configuration tab:
name:sqlserverdatasource
jndi name: sqlserver
pool name: sqlserverpool
d.点击create
e.targets/services tab:
选择myserver,点击apply!如果,没有报错,即证明创建数据源成功!
3. 编写测试程序
(其中涉及到jndi的问题,其实很简单,就那么几步,记住就ok!):
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.sql.*;
public class datasourcetest
{
public static void main(string[] args)
{
statement stmt = null;
connection conn = null;
resultset res = null;
try{
hashtable env = new hashtable();
env.put(initialcontext.initial_context_factory,"weblogic.jndi.wlinitialcontextfactory");
env.put(initialcontext.provider_url,"t3://localhost:7001"); //weblogic端口ip
env.put(initialcontext.security_principal,"system"); //weblogic连接用户
env.put(initialcontext.security_credentials,"sysmanager");//weblogic密码
initialcontext ctx = new initialcontext(env);
datasource ds = (datasource)ctx.lookup("sqlserver"); //jndi名字
conn = ds.getconnection();
stmt = conn.createstatement();
res = stmt.executequery("select * from testtable");
system.out.println("id——name——address");
while(res.next()){
int id = res.getint(1);
string name = res.getstring(2).trim();
string address = res.getstring(3).trim();
system.out.println(id+"——"+name+"——"+address);
}
}
catch(sqlexception sse){
system.out.println("sql error!");
}
catch(namingexception e){
system.out.println("namingexception");
}
try{
stmt.close();
conn.close();
}
catch(sqlexception se){}
}
}
附:
连接oracle 数据库的设置
拷贝oracle安装目录下面的classes12.zip,在weblogic的classpath添加该包作为驱动程序。
在weblogic中的connectionpool的configuration/general页签中填写如下参数
name:oraclerpool
url: jdbc:oracle:thin:@[oracle服务器ip]:1521:[服务名]
driver classname: oracle.jdbc.driver.oracledriver
properties(key=value): user=[oracle用户]
password=[oracle用户密码]
dll=ocijdbc8
protocol=thin
其它可设置可参考上文中sql server的设置。
连接mysql数据库的设置
略
备注:
使用ms jdbc for sql server和bea jdbc for sql server的缺陷(未写)
