请问一下,在CLASSPATH中怎么配置mssqlserver.jar,msbase.jar,msutil.jar 我配置了,不晓得是不是错的,太是网站是没有办法执行出来.C:\ Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\ Program Files\Microsoft SQL Server 2000 Driver for JDBC \lib\mssqlserver.jar;C:\ Program Files\Microsoft SQL Server 2000 Driver for JDBC \lib\msutil.jar 这是我在CLASSPATH中配置的.
安装版的不到2M,安装完后开始程序中会出现Microsoft SQL Server 2000 Driver for JDBC,然后有一个HTML Help,其实从中就可以找到连接SQLserver的全部信息
忘了还必须要有SQLServer,大家可以到http://www.codestudy.net/去下载,4in1版本的
装好SqlServer过后,建立一个数据库,名为test,然后建立一个表"NAME",然后输入name字段,char类型,然后让这个字段的值为HelloDB(如果基本的数据库操作不会我就没辙了:)
然后应该把驱动程序类加入到classpath中了,我在上面的帖子说过,应该把\Microsoft SQL Server 2000 Driver for JDBC\lib下面的mssqlserver.jar msutil.jar msbase.jar
这三个文件放在%JAVA_HOME%\jre\lib\ext下面,然后就是测试程序了:
照如下的代码输入程序:
import java.sql.*;public class SQLTest{
public static void main(String[] args){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM NAME";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println("Your frist field is " + rs.getString("name"));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){
System.err.println(e);
}
}
如果出现HelloDB就说明操作数据库成功了,当然这么顺利我就笑了,我觉得比较常见的问题就是用户sa未与信任 SQL Server 连接相关联。
这个在我刚开始连接数据库的时候也遇到过,但是后来不知怎么的弄好了也没有深入研究了。那天在这个帖子
http://expert.csdn.net/Expert/topic/2028/2028251.xml?temp=.5175592zez(思恩 为老婆多挣钱 鹤清风) 大哥的回复中才知道,要修改sql server 为sql 和 windows验证
不能是只有windows验证,所以才连不上。
然后我说说怎么在JBuilder中配置SQLServer的连接,在这里我引用一下beyond_xiruo大哥的文章《在JBuilder中使用com.microsoft.jdbc.sqlserver.SQLServerDriver连接sql数据库 beyond_xiruo》
原文在http://www.csdn.net/Develop/Read_Article.asp?Id=15098
一,你确定你安装的jdbc是否完全版,因为有个单机版只能连接本机上的sql,单机版约2m,完全版约6.5m
二、安装好jdbc后,假如目录在C:\Program Files\Microsoft SQL Server 2000 JDBC,打开Jbuilder,选择Tools-->Configure Libraries,然后在左边的列表框下选择New,填入:Name:sql,Location:User Home,然后点击Add,加入目录C:\Program Files\Microsoft SQL Server 2000 JDBC\lib,确定
三、Project-->Prject Properties-->Paths-->Required Libraries-->Add
加入刚才添加的User Home/sql确定
四、Tools-->Enterprise Setup-->Database Drivers-->Add,加入User Home/sql,添加之后在列表框中显示的是sql.config,确定,重新启动JBuilder
五、Tools-->Database Pilot-->View-->Options-->Drivers-->Add
填入
Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver
Simple URL:microsoft:sqlserver://localhost:1433;DatabaseName=mybase
确定之后,Tools-->Database Pilot-->New的Driver里选择
com.microsoft.jdbc.sqlserver.SQLServerDriver
在URL里填入:
microsoft:sqlserver://服务器Ip地址或主机名:1433;DatabaseName=数据库名,确定!
双击或点击+号输入sql数据库的用户名和密码,就完成了JB与sql的连接!
然后你就可以查看你这个数据库中的资源了,我用JB就是这样连接的:)(
一、jsp连接Oracle8/8i/9i数据库(用thin模式)
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
二、jsp连接Sql Server7.0/2000数据库
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
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";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
三、jsp连接DB2数据库
testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
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";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
四、jsp连接Informix数据库
testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
五、jsp连接Sybase数据库
testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
六、jsp连接MySQL数据库
testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
七、jsp连接PostgreSQL数据库
testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft为你的数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
最后我再所说开发工具的问题,这也是初学者比较常问的问题
我个人觉得一般的小程序我上面推荐的Editplus + JDK就行了,或者用JCreator
稍微大一点的程序用Eclipse和IntelliJ都不错,我用过一段时间的IntelliJ,现在还是在用Eclipse
我觉得JB当然是我用过的JavIDE中最好的,但是机子拖着吃力,所以一般很懒得用它来耗费系统资源PS:不知不觉又写到12点过了,今天早上N早起来看AC vs 巴塞,可惜停电,困死了,要去睡了^O^,
准备结这个帖子了,希望对初学者有一些指导作用
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
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";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
mssql 数据库驱动问题
下载MSSQL的JDBC驱动器(http://www.microsoft.com/china/sql/downloads/jdbc_sp1.asp)
安装setupMSSQLFORWINDOWS 在安装目录下找出mssqlserver.jar,msbase.jar,msutil.jar 这三个 文件安装在tomcat 的common/lib目录下就可以了 很方便的
WEB_INF
|__lib
|__mssqlserver.jar,msbase.jar,msutil.jar
import java.sql.*;
import javax.servlet.jsp.*;
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance() ;
// String url="jdbc:odbc:stud";
// con=DriverManager.getConnection(url, "sa", "sa") ; 注意,在用这种方法访问数据库的时候,如果用sql语句查询数据库想得到预期的返回结果,在ResultSet rs.getString(*),这个*必须按照 列的顺序,即如果想分别得到1,2,3,4,5列的数据,那么*必须按照1,2,3,4,5的顺序,否则将得不到预期结果。如下:
while(rs.next() )
{
StudentInformation stu=new StudentInformation();
stu.SetID(rs.getString(1));
stu.SetName(rs.getString(2));
stu.SetSex(rs.getString(3));
stu.SetAge(rs.getString(4));
stu.SetProvince(rs.getString(5));将各列信息按照顺序依次读出,并被Set×××方法依次调用,如果改变以上五条语句顺,程序将得不到预期结果2:装载数据驱动驱动
import java.sql.*;
import javax.servlet.jsp.*;// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance() ;//sql server database driver
// con=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=stu", "sa", "sa") ;
这种方法与上边的不同,可以打乱五条语句的顺序并且得到预期结果。3:JNDI
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*"%>
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("jndistud") ;
Connection con=ds.getConnection() ;这种方法与第一种差不多,不可以打乱语句顺序。