安装到c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC下 设置classpath如下: c:\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar; c:\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar; c:\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar Pls check carefully.Are they the same?
jdbc:microsoft:sqlserver://sds:1433;(?this is semicolon or colon)DatabaseName=test
更正:1.我设置classpath应是如下: c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar; c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar; c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar 2.我刚才用e.toString()试了,错误信息是:java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver我应该怎样设置呢?
。。错误提示都写的那么清楚了,说是找不到类,有这个时间你都可以把你的classpath重新设一遍(c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar 最后加个“;”号)或者干脆把那三个jar文件拷贝到lib目录下,试上N遍了。
import java.sql.*; public class opendb { String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; String sConnStr="jdbc:odbc:jdbjsp"; Connection cn=null; ResultSet rs=null; Statement st=null; public opendb() { try{Class.forName(sDBDriver);} catch(ClassNotFoundException e1){System.err.println("opendb():"+e1.getMessage());} }
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:myDSN","uid","pwd");其中myDSN是你在Windows的ODBC中设置的SQL Server的ODBC DSN。
改成System.out.println(e.getMessage());
看是什么报错?
}catch(Exception e){
System.out.println(e.getMessage());
}然后将错误信息贴出来看看
最后加个“;”号)或者干脆把那三个jar文件拷贝到lib目录下,试上N遍了。
public class opendb
{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:jdbjsp";
Connection cn=null;
ResultSet rs=null;
Statement st=null;
public opendb()
{
try{Class.forName(sDBDriver);}
catch(ClassNotFoundException e1){System.err.println("opendb():"+e1.getMessage());}
}
public ResultSet executeQuery(String sql)
{ rs=null;
try{cn=DriverManager.getConnection(sConnStr,"sa","");
st=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery(sql);}
catch(SQLException e2){System.err.println("opendb():"+e2.getMessage());}
return rs;
}
public void executeUpdate(String sql)
{
try{
cn=DriverManager.getConnection(sConnStr,"sa","");
st=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
st.executeUpdate(sql);
}
catch(Exception e){System.out.println("Update Exception:"+e.getMessage());}
}
public void closest()
{
try
{
st.close();
}
catch(SQLException e)
{
System.out.println("Close st Exception:"+e.getMessage());
}
}
public void closecn()
{
try
{
cn.close();
}
catch(SQLException e)
{
System.out.println("Close cn Exception:"+e.getMessage());
}
}
}
因为JAVA使用Unicode编码,如果你数据库里的数据是中文的话,
可能在数据解析的时候出错了,你仔细去查查API,看看有关解析编码的地方。!!!!shakuler
换个不带空格的路径 ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
下载安装后,在C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClib下面会生成3个jar文件,把他们复制到你的tomcatcommonlib下或者resinlib下在我的电脑-->属性-->高级-->环境变量里把这3个jar文件添加到CLASSPATH里
(注意分号)数据库驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
用户名:sa
密码:
连接字符串:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=scs;如果插入数据库有乱码,在插入数据库的页面的间加
注意:
如果连接数据库的时候提示:
用户 "sa" 登录失败。原因: 未与信任 SQL Server 连接相关联。
-----------------------------------------------------------------------------
因为你在安装SQL时选择的认证方式是WINNT混合认证模式,没有给SA设定密码,所以SA会失败。登陆企业管理器修改SA密码即可使用。 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:
1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server;
2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;
3、 在"身份验证"下,选择"SQL Server和 Windows "。
4、 重新启动SQL Server服务。
如果是驱动问题
把驱动(楼上说的三个文件)放到jdk的\jre\lib\ext\下就可以了,classpath中不用再做设置如果是不能显示中文,应该是编码问题
试一下把System.out.println(rs.getString("name"));改成
String outString = new String(rs.getString("name").getBytes("gb2312"),"ISO8859-1")
System.out.println(outString);