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的缺陷(未写) |
关键词: 基于 Weblogic 7.0 的应用开发