在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\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); java.sql.DriverManager.registerDriver( new com.microsoft.jdbc.sqlserver.SQLServerDriver() );
javac -classpath .;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\j2sdk1.4.2_06\bin;E:\j2sdk1.4.2_06\lib;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;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 Datawindow.java我就不信这个不行!呵呵
请楼主把一下信息添加到 Classpath 再 temp 里面的开始 注意有个 点号.;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
照旧,其实我觉得这个PATH与CLASSPATH不是问题.
path 和classpath是不一样的 大家都说了半天,你的问题照旧,这就奇怪了
请楼主把一下信息添加到 Classpath 再 temp 里面的开始 注意有个 点号.;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有2种,一种是永远的,在系统的“环境变量”里,要想偷懒就把*.jar放这里;还一种是临时的,打开一个cmd窗口,用set命令设置的就是临时的,不影响别的窗口,把窗口关了就消失,CLASSPATH就变成第一种了。
还有一点要注意,除了j2sdk***\lib可以不用一个一个导入固定的jar,别的jar都要一个一个导入,如c:/lib/a.jar;c/lib/b.jar;……不能c:/lib,这样一个也每导入
你能确保有这个类吗?
-----------
这个不是JDK自带的吗?
*********************************
怎么配置的 把 配置信息贴出来看看!
----------------
这是我的环境变量中PATH的配置:
.;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\j2sdk1.4.2_06\bin;E:\j2sdk1.4.2_06\lib;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;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
******************************************
你用什么编译的?控制台 还是 其他 ide ?
-----------------------------
javac Datawindow.java
例如C:\msbase.jar
是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\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar
java.sql.DriverManager.registerDriver( new com.microsoft.jdbc.sqlserver.SQLServerDriver() );
另我以上的路径是设在了PATH里,如果我新建一个CLASSPATH就会出现编译可通过,在运用时根本进不了程序就提示说:[main ]NotFoundExceptionerror 之类的这个我就不贴了。要设定CLASSPATH挺烦的。
还有这个CLASSPATH我在我的AUTOEXEC。BAT文件里也用过还是不行。对了那个JDBC驱动多大?是不是我下错了?我的是2000多KB。安装时就一路NEXT了。也没出什么问题。
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
java.sql.DriverManager.registerDriver( new com.microsoft.jdbc.sqlserver.SQLServerDriver() );
***********************
你的这个也没用,因为是Class.forName........就抛出了异常。
Classpath 再 temp 里面的开始 注意有个 点号.;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 再 temp 里面的开始 注意有个 点号.;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
照旧,其实我觉得这个PATH与CLASSPATH不是问题.
=========================楼主是个坚持真理的人! :(
^^^^^^^^这里应该是你的ip或计算机名称
如下:
url="jdbc:microsoft:sqlserver://192.168.0.1:1433;DatabaseName=myjava";
这里应该是你的ip或计算机名称
1.把三个JAR文件COPY到我的\JRE\LIB\EXT下
2.把JAR的三个路径设在PATH环境变量中
3.把JAR的三个路径设在CLASSPATH的TEMP中(这个CLASSPATH就是 我的电脑.属性.高级.窗口的上面的那个有TEMP与EMP路径的那个小窗口是吧!)
4.把CLASSPATH在AUTOEXEC.BAT中设定为SET CLASSPATH=..............
就是不行.
但那个数据表可以用sun.jdbc.odbc.JdbcOdbcDriver 那种方法找到.
怎么了?我怎么了?中了什么奖了?
对了我在下JDBC驱动之前下了一个Microsoft SQL Server 2000 Driver for JDBC driver pack 1安装在我的计算机上了,后来找不到安装在那个地方就删除了,重下了一个Microsoft SQL Server 2000 Driver for JDBC到我的C:(默认路径)还能与这个有关?
还有,我昨天在卸了那个SQL SERVER 2000后安装时说是一闪就过去了。后来我把CLASSPATH中的那三个JAR路径的设置去掉了就能装上了。不知道怎么会事。谁遇过这种情况!!!
帮帮俺吧!!!!!!!!!!!!!
2.把jdbc驱动中三个JAR文件COPY到我的\JRE\LIB\EXT下(不用设置classpath)
3.写程序,调试运行import java.sql.*;
public class JDBC_Connect {
public static void main(String[] args) {
Connection conn;
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myjava";
String user = "sa";
String pwd = "1356786";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, pwd);
} catch (Exception e) {
System.out.println("Error: " + e.toString());
}
System.out.println("Finished!");
}
}如果这样还有问题,就是人品问题了
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myjava";
这里的ip是服务器的ip地址
楼主,我想对你说一下环境变量path和classpath是什么东东,即使看了上面你的留言,你依然那么坚持真理,对不起了,请原谅我的多嘴!path是您用的操作系统提供的环境变量,您一定试过在命令行输入一个命令然后它就执行了,很好玩吧。你输入的比如说是〉ffff,可这个文件明明在D:/****/***/ffff.exe那个路径下,在命令行中,不管在那个路径下输入都能执行呢,这就是因为,再path中设置了这个路径。那classpath有什么作用呢?编java程序的时候你知道import的作用吧!当你要用的class,在某一个.jar下是,你需要在编译时引入,jvm自动去找classpath环境变量引入下面的jar包,这就是classpath环境变量的作用,你把jar包设到path路径下,有什么用呢!?
import java.sql.*;
public class Jd
{
public static void main(String[] args)
{
Connection conn;
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://zhang:1433;DatabaseName=myjava";
String user = "sa";
String pwd = "13567860023";
try
{
Class.forName(driver);
System.out.println("1111111111111");
conn = DriverManager.getConnection(url, user, pwd);
System.out.println("2222222222222");
}
catch (Exception e)
{
System.out.println("toString:\n"+e.toString()+"\nmessage:\n"+e.getMessage());
}
System.out.println("Finished!");
}
}
f:\myjava\csdn>java Jd
1111111111111
toString:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
message:
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
Finished!f:\myjava\csdn>
现在第一步环境变量已经完成,可是下面的数据库找不到啊!
我的这句jdbc:microsoft:sqlserver://zhang:1433;DatabaseName=myjava中的ZHANG分别做过以下修改:
1.zhang //计算机名
2.192.168.0.93 //我在内网内的网址
3.myodbc //我的数据源名称
4.ZHANG/SERVER //我的SQL SERVER 2000服务器的服务实例名
大家帮我改啊!!!!!!!!1
import java.net.*;
public class Jd
{
public static void main(String[] args)
{
Jd mytool=new Jd();
Connection conn;
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://zhang/192.168.0.93:1433;DatabaseName=myjava";
String user = "sa";
String pwd = "13567860023";
try
{
Class.forName(driver);
System.out.println("The Server IP is:"+mytool.getServerIP());
conn = DriverManager.getConnection(url,user,pwd);
System.out.println("2222222222222");
}
catch (Exception e)
{
System.out.println("toString:\n"+e.toString()+"\nmessage:\n"+e.getMessage());
}
System.out.println("Finished!");
}
InetAddress myServer;
public InetAddress getServerIP()
{
try
{
myServer=InetAddress.getByName("zhang");
}
catch (UnknownHostException e)
{
}
return(myServer);
}
}
怎么会提示不行?如下:
F:\myjava\csdn>java Jd
The Server IP is:zhang/192.168.0.93
toString:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
message:
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
Finished!
**************
这个ZHANG/192.168.0.93是我查到的本机的IP啊!
这个databaseName是数据库的名字吧,不是数据源吧!
好像是数据库socket连接设置的问题,不清楚了
f:\myjava\csdn>javac Jd.java
Jd.java:3: package com.microsoft does not exist
import com.microsoft.*;
^
1 errorf:\myjava\csdn>
是不是还有一个路径要设????还是JSK有问题?要重装?
你把jdbc驱动文件放到/j2sdk1.4.2_04/jre/lib/ext目录下
(这样做驱动文件的classpath设置可以去掉)
不会立即生效,重启一下
这个目录是系统默认查找jar文件的地方
都过不了.
而用ODBC-JDBC桥可以连接。
现在重装系统后当然一切都没问题了。
希望能给楼主一个参考。
*********************
用什么工具?
回复人: xiaoxhui(飞) ( ) 信誉:100 2004-12-24 10:58:00 得分: 0
在这之前谢谢你给我讲解的CLASSPATH与PATH的区别,帮了俺大忙.
另:告诉大家这个JDBC用IP与远程的连接要注意以下问题:
1.CLASSPATH的设置
2.端口号的测试:CMD后:NETSTAT -AN
我这远程非默认实例的端口号为:1042不是1433
结贴!!!!!!!!!!!!!