JDBC:
Name: MyJDBCPool 
URL:url:jdbc:weblogic:mssqlserver4:database@localhost:1433
/**database 为你的数据库名**/
Driver Classname:weblogic.jdbc.mssqlserver4.Driver
Properties(key=value):user=sa password=****** 
charset=gb2312Datasource:
Name: MyJDBCDS 
JNDI Name: SQLServer  
Pool Name: MyJDBCPool
测试的jsp程序
<%@ page contentType="text/html;charset=gb2312"%> 
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.rmi.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.lang.Object"%>
<%@ page import="javax.sql.*"%>
<%@ page import="weblogic.jdbc.*,java.util.Properties" %>
<% 
Context ctx = null;  
DataSource ds = null;
Statement stmt = null;
ResultSet rs = null;
try  {
  Hashtable env = new Hashtable(); 
  env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextF
actory"); 
     env.put(InitialContext.PROVIDER_URL,"t3://localhost:80"); 
     env.put(InitialContext.SECURITY_PRINCIPAL,"system"); 
     env.put(InitialContext.SECURITY_CREDENTIALS,"******"); 
     ctx = new InitialContext(env);     ds = (DataSource)ctx.lookup ("SQLServer");
 Connection con = ds.getConnection("system","*******");
 stmt = con.createStatement();           rs = stmt.executeQuery("select * from ");
 while(rs.next())
   {
           out.println(rs.getString("")+"<br/>");
   }   } catch (Exception E) {     System.out.println("Init Error: "+E.getMessage());   }
%> 驱动不用下载的,weblogic自己带的,如果你不想配连接池,你可以到microsoft 下在驱动程序,然后将安装后的lib目录下的三个.jar文件copy到你的应用WEB-INF下的lib目录下(没有可以新建)下面是连接数据库的代码
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();        
String  url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";    
//test为你的数据库的    
String  user="sa";    
String  password="";    
Connection  conn=  DriverManager.getConnection(url,user,password);        
Statement  stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);        
String  sql="select  *  from  test";        

解决方案 »

  1.   

    谢谢,请问上面1443是什么端口,我可不可以通过WEBLOGIC的控制台该掉这个端口号呢??
      

  2.   

    一个连接池是只能连一个数据库,如果你要连接多个,你要建立多个了。不过我建议你最好不要用6了,7也不行,它里面自带的JDBC有点老,RESULTSET里面很多重要方法它都没有实现,如果要下载数据库生产商的驱动,你又很难把连接池配好,很烦,我已经吃亏了,我的项目开发到一半,我发现7里面这个问题,没有办法解决,6更老,你可想而知,我真为WEBLOGIC难过,虽说功能很强大,速度不是很令人满意,如果你开发的中小型项目,不用J2EE的框架的话,完全可以用TOMCAT,还不错,速度不错。这只是我的一点感触,请不要投我鸡蛋。
      

  3.   

    一个连接池是只能连一个数据库,如果你要连接多个,你要建立多个了。不过我建议你最好不要用6了,7也不行,它里面自带的JDBC有点老,RESULTSET里面很多重要方法它都没有实现,如果要下载数据库生产商的驱动,你又很难把连接池配好,很烦,我已经吃亏了,我的项目开发到一半,我发现7里面这个问题,没有办法解决,6更老,你可想而知,我真为WEBLOGIC难过,虽说功能很强大,速度不是很令人满意,如果你开发的中小型项目,不用J2EE的框架的话,完全可以用TOMCAT,还不错,速度不错。这只是我的一点感触,请不要投我鸡蛋。
      

  4.   

    1433是数据库里面的一个端口,服务器要通过这个端口和数据库通信,这个端口也可以在数据库中改的,1433只是默认的,建议改掉SQLSERVER在服务器属性--》网络配置-》tcp/ip里面改
      

  5.   

    谢谢楼上的高手,小弟,用junandjun的方法试了一下,但是老是在JSP里被CATCH掉被抛出NULLPOINT这是怎么回事,我正在试,希望能告诉我个答案
      

  6.   

    在日志文件里有
    registerDriver: driver[className=weblogic.jdbc.mssqlserver4.Driver,weblogic.jdbc.mssqlserver4.Driver@6cb8fa]
    DriverManager.getDriver("jdbc:weblogic:mssqlserver4:zhangyi@localhost:1433")
        trying driver[className=weblogic.jdbc.oci.Driver,weblogic.jdbc.oci.Driver@7c814d]
        trying driver[className=weblogic.jdbc.mssqlserver4.Driver,weblogic.jdbc.mssqlserver4.Driver@6cb8fa]
    getDriver returning driver[className=weblogic.jdbc.mssqlserver4.Driver,weblogic.jdbc.mssqlserver4.Driver@6cb8fa]
    java.sql.SQLException: Can't open a socket on localhost:1433. Check host and port number and make sure the security manager allows this connection. You can also try running the SocketApplet (java.net.ConnectException: Connection refused: connect).
    at weblogic.jdbc.mssqlserver4.BaseConnection.prepareConnection(BaseConnection.java:177)
    at weblogic.jdbc.mssqlserver4.Driver.newConnection(Driver.java:34)
    at weblogic.jdbc.mssqlserver4.ConnectDriver.connect(ConnectDriver.java:151)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:192)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:134)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy30.updateDeployments(Unknown Source)
    at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2761)
    at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:370)
    at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy41.start(Unknown Source)
    at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
    at weblogic.management.Admin.startApplicationManager(Admin.java:1180)
    at weblogic.management.Admin.finish(Admin.java:590)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:518)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
    at weblogic.Server.main(Server.java:35)
      

  7.   

    我试了好多次,问题有两个,当SQLSERVER的SA没有密码事在POOL里PASSWORD这一行,应该是不写呢还是应该写成PASSWORD=;
    第二,为什么用了连接池,程序还要关CONN。STATEMENT,RS呢??如果不关那么第二次刷新的时候就会出错,这是怎么回事啊,这不是和ODBC一样了吗??
      

  8.   

    第一个问题我到没试过,不过你可以两种都试试,不行的话就设个密码。
    第二个问题其实不用关的,weblogic会定期关掉一些连接,不过在没关之前如果连接数大于你设置的最大连接数,控制台就回报错,如果你捕获异常,页面不会报错,但没有内容显示,所以最好使用完了就关掉,免得占用资源。