1,可以用jdbc-odbc的方式,建立odbc数据源(效率低)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
con=java.sql.DriverManager.getConnection("jdbc:odbc:soft","test","password");//soft为数据源的名称
con.setAutoCommit(true);//允许数据库自动更新
2,用专用接口连接--一般大型数据库都有它的jdbc专用接口(效率高)
String address = "jdbc:microsoft:sqlserver://192.168.0.24:1433";//服务器ip
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "TESTDB";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
到公司站点下载jdbc驱动吧!
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
con=java.sql.DriverManager.getConnection("jdbc:odbc:soft","test","password");//soft为数据源的名称
con.setAutoCommit(true);//允许数据库自动更新
2,用专用接口连接--一般大型数据库都有它的jdbc专用接口(效率高)
String address = "jdbc:microsoft:sqlserver://192.168.0.24:1433";//服务器ip
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "TESTDB";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
到公司站点下载jdbc驱动吧!
public class MyConnection {
public static Connection getConnect(){
Connection conn = null;;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.18:1521:WBH", "workdays", "ok");//关键就在这里可通过IP 地址和机器名来访问
// return conn;
} catch (Exception e) {
System.out.println(e);
}
return conn;
}
}
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection ("jdbc:oracle:thin:@myhost:1521:orcl",
"scott", "tiger");=============MySQL=================================
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://myhost:3306/dbname","user","passwd");============InfoMax================================
Class.forName("com.informix.jdbc.IfxDriver");
conn = DriverManager.getConnection("jdbc:informix-sqli://myhost:1533:informixserver=myserver;user=rdtest;password=test");
============InforMix================================
Class.forName("com.informix.jdbc.IfxDriver");
conn = DriverManager.getConnection("jdbc:informix-sqli://myhost:1533:informixserver=myserver;user=rdtest;password=test");
=============SQLServer2000=========================
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection
("jdbc:microsoft:sqlserver://server1:1433","username","password");
///////////////////////////////////
jdbc driver download:SQLServer:http://www.microsoft.com/sql/downloads/default.asp
MySQL:http://www.mysql.com/downloads/api-jdbc.html
Oracle:http://otn.oracle.com/software/content.html ---------------------DB2--------------------
--------------------- --------------------
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();//For Application
String url = "jdbc:db2:sample";
con = DriverManager.getConnection(url, userid, passwd);
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();//For Applet
String url = "jdbc:db2:// "+server+":"+port+"/sample";
con = DriverManager.getConnection(url, userid, password );
建议用odbc---专用接口连接很麻烦的
SQL Server7.0,我在classpath里面已经指定了JDBC的路径。<html>
<%@ page contentType="text/html;charset=gb2312"
language="java"
import="java.io.*,java.sql.*"
%>
<body>
<%
String address = "jdbc:microsoft:sqlserver://192.168.1.137:1433";
String user="sa";
String passwd="";
String database = "Test";Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection(address,user,passwd);
con.setCatalog(database);
Statement smt = con.createStatement();
ResultSet rs=smt.executeQuery("select * from UserDb");while (rs.next())
{
out.println(rs.getString("ipconfUsername"));
}
rs.close();
con.close();
%>
</body></html>可它还是提示出错:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1406)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1254)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:198)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at org.apache.jsp.memmain$jsp._jspService(memmain$jsp.java:70)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)这是为什么呢?我后来将微软的几个相关的jar文件直接放在
WEB-INF/classes/目录里面还是不行,能帮忙看看吗?
public class AccessMsSql2000
{
private String strServerAddr="";
private String strDBName="";
private String strUser="";
private String strPasswd="";
public AccessMsSql2000(String tmpServerAddr,String tmpDBName,String tmpUser,String tmpPasswd)
{
strServerAddr=tmpServerAddr;
strDBName=tmpDBName;
strUser=tmpUser;
strPasswd=tmpPasswd;
}}
应用程序中调用: (把127.0.0.1改成另一太机器的ip即可)
AccessMsSql2000 accessDB=new AccessMsSql2000("127.0.0.1:1433"
,"NET"
,"sa"
,"");
String strSql="SELECT ..........";
try
{
ResultSet rs=accessDB.execQuery(strSql);
.............
.............