import java.sql.*; import javax.sql.*; import javax.naming.*; public class testsql { public testsql() { try{ String ODBCName = "java:comp/env/jdbc/sqlserver"; Context ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(ODBCName); Connection con = ds.getConnection(); Statement sqlStmt = con.createStatement(); ResultSet rs=sqlstmt.executeQuery("select * from pubt "); }catch (Exception e) { System.out.println("" + e.getMessage()); } } public static void main(String[] args) { testsql testsql1 = new testsql(); } }
<Host name="www.test.com" debug="5" appBase="e:\testweb" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="" debug="5" reloadable="true" crossContext="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="cust1_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> <Resource name="jdbc/sqlserver" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/sqlserver"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. --> <parameter> <name>maxActive</name> <value>30</value> </parameter> <!-- Maximum number of idle dB connections to retain in pool.Set to 0 for no limit. --> <parameter> <name>maxIdle</name> <value>5</value> </parameter> <!-- Maximum time to wait for a dB connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded. Set to -1 to wait indefinitely. --> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>username</name> <value>test</value> </parameter> <parameter> <name>password</name> <value>test</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test</value> </parameter> <parameter> <name>driverName</name> <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test</value> </parameter> <!--To configure a DBCP DataSource so that abandoned dB connections are removed and recycled add the following paramater to the ResourceParams configuration for your DBCP DataSource Resource: When available db connections run low DBCP will recover and recyle any abandoned dB connections it finds. The default is false. --> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <!--Use the removeAbandonedTimeout parameter to set the number of seconds a dB connection has been idle before it is considered abandoned The default timeout for removing abandoned connections is 300 seconds--> <parameter> <name>removeAbandonedTimeout</name> <value>60</value> </parameter> </ResourceParams> </Context> </Host>
可能是要设一下环境变量。
例如:用weblogic 做EJB (实体bean)的时候你首先的在weblogica里配制好数据库,然后你才能做呀
import javax.sql.*;
import javax.naming.*;
public class testsql {
public testsql() {
try{
String ODBCName = "java:comp/env/jdbc/sqlserver";
Context ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup(ODBCName);
Connection con = ds.getConnection();
Statement sqlStmt = con.createStatement();
ResultSet rs=sqlstmt.executeQuery("select * from pubt ");
}catch (Exception e)
{
System.out.println("" + e.getMessage());
}
}
public static void main(String[] args) {
testsql testsql1 = new testsql();
}
}
<Context path="" docBase="" debug="5" reloadable="true" crossContext="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="cust1_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> <Resource name="jdbc/sqlserver" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/sqlserver">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. -->
<parameter>
<name>maxActive</name>
<value>30</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.Set to 0 for no limit. -->
<parameter>
<name>maxIdle</name>
<value>5</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded. Set to -1 to wait indefinitely. -->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>test</value>
</parameter>
<parameter>
<name>password</name>
<value>test</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test</value>
</parameter>
<parameter>
<name>driverName</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test</value>
</parameter>
<!--To configure a DBCP DataSource so that abandoned dB connections are removed and recycled add the following paramater to the ResourceParams configuration for your DBCP DataSource Resource:
When available db connections run low DBCP will recover and recyle any abandoned dB connections it finds. The default is false. -->
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<!--Use the removeAbandonedTimeout parameter to set the number of seconds a dB connection has been idle before it is considered abandoned
The default timeout for removing abandoned connections is 300 seconds-->
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
</ResourceParams>
</Context>
</Host>