jdbc终极解惑~兼初学者在登录sql容易忽略的问题
来源:互联网 发布:淘宝卖家怎么成为天猫 编辑:程序博客网 时间:2024/05/22 14:14
说实话也是解决得有点突然。今天下午放学回家,看了看回帖,其中一位网友说到除了要放在ext这个目录里外还要在编译器里面把包导入,我照这个方法做后果然可以了,然后在命令行运行也成功了。
说来也奇怪,以前我试过在命令行运行似乎不行的,而且用jCreator导入包的时候又有点诡异,最初是死活也找不到我放在ext目录里的三个jdbc驱动的包,但资源管理器里面确实可以清楚看到我已经把包复制到里面了,然后又是不知道怎么地反复操作了几次又突然看到了三个包并导入了。不知道是不是jvm的问题。
然后就万事大吉了,终于可以连接成功。
不过唯一一个问题还没明确的解决,也就是用修改环境变量的方法还是不能成功,修改为CLASSPATH=.;C:/driver/msbase.jar;C:/driver/mssqlserver.jar;C:/driver/msutil.jar后,在命令行运行时还是不能找到类,看来还是暂时要把驱动放在/……/jdk/jre/lib/ext这里。
或者另外一个方法是用编辑器例如jCreator直接导入C:/driver里面的包也行,这样就不必再把包放进jdk里面的目录;
而用jdbc连sqlserver的时候还有一个需要注意的是,用户登录的问题,当然前提是sqlserver设置为混合登录模式,而登录的用户一定要具有对所定应数据库有对应操作的权限时才能正常管理。
不然的话会出现“jdbc对象名无效”这个异常,一般如果用sa登录时就会有这个问题出现
最后补充一下就是相关的补丁一定要打齐,sqlserver2000的sp4,还有jdbc的sp3都打上就万无一失
最后把我测试的两个程序贴出来留个底
jdbc直接连接sqlserver2000
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
public class Jdbctest
{
protected Jdbctest()
{
}
public static void main(String [] args)
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("testing");
}
catch(ClassNotFoundException ce)
{
System.out.println(ce);
}
try
{
String url="jdbc:microsoft:sqlserver://localhost:1433;databassName=frends;";
Connection con=DriverManager.getConnection(url,"test","1111");
if(con!=null)
{
System.out.println("连接成功");
}
Statement s=con.createStatement();
/*
String sql="select * from friends";
PreparedStatement pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
*/
ResultSet rs=s.executeQuery("select * from friends");
while(rs.next())
{
System.out.print(rs.getString(1)+"/t");
System.out.print(rs.getString(2)+"/t");
System.out.print(rs.getInt(3)+"/t");
System.out.print(rs.getDate(4)+"/t");
System.out.print(rs.getInt(5)+"/t");
System.out.println(" ");
}
rs.close();
s.close();
}
catch(SQLException ce)
{
System.out.println(ce);
}
}
}
其中test为自定义的一个超级用户
JdbcOdbc桥接
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class jdbcOdbcTest
{
protected jdbcOdbcTest(){}
public static void main(String [] args)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ce)
{
System.out.println(ce);
}
try
{
String url="jdbc:odbc:test";
Connection con=DriverManager.getConnection(url);
Statement s=con.createStatement();
ResultSet rs=s.executeQuery("select * from friends");
while(rs.next())
{
System.out.print(rs.getString(1)+"/t");
System.out.print(rs.getString(2)+"/t");
System.out.print(rs.getInt(3)+"/t");
System.out.print(rs.getDate(4)+"/t");
System.out.print(rs.getInt(5)+"/t");
System.out.println(" ");
}
rs.close();
s.close();
}
catch(SQLException ce)
{
System.out.println(ce);
}
}
}
其中test为系统DNS
- jdbc终极解惑~兼初学者在登录sql容易忽略的问题
- asp.net初学者容易忽略的问题
- 容易忽略的问题
- Java中容易忽略的问题(表达式篇,根据java解惑归纳)
- 容易忽略的SQL语句
- 关于oracle sql优化的一个容易忽略的问题。
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 一个容易忽略的问题
- [c++]容易忽略的问题
- C++ 容易忽略的问题
- oracle 容易忽略的问题
- 初学者容易忽略的整型数据的有关知识
- SQL 容易忽略的连接语句
- 容易忽略的SQL语句(二)
- 一段用ASP查看ASP文件源码的程序
- 使用IIS的Url重定向功能防止数据库被下载
- 链表的源码
- 靓照
- delphi 精要-读书笔记(过程类型,方法类型)
- jdbc终极解惑~兼初学者在登录sql容易忽略的问题
- 如何配置ASP运行环境
- #pragma预处理指令详解
- 学习ASP知识之Request.ServerVariables应用
- 车东上的脑筋急转弯
- ASP如何获取真实IP地址
- asp中的80020009错误
- 多文件上传
- 基于C的文件操作