java ecplise问题集锦
Java连接SQL Server 2005
一、JAVA连接SQL的语句
JAVA连接SQL2000语句为:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
DriverManager.getConnection("jdbc:odbc:数据库名","数据库登录名","登录密码");
但连接SQL2005,已经改为:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection("jdbc:sqlserver://localhost:1433;
DatabaseName=数据库名","数据库登录名","登录密码");
二、JAVA连接SQL都要用到驱动程序
SQL2000需要三个jar包:mssqlservice.jar,msutil.jar,msbase.jar
SQL2005需要一个jar包:sqljdbc.jar
所以SQL2000和2005的连接方法是不一样的,
到微软下载"Microsoft SQL Server 2005 JDBC Driver"最新版本,现在的应该是1.2
下面Microsoft SQL Server 2005 JDBC Driver的安装说明:
1. 将 sqljdbc__enu.exe 下载
2. 运行 sqljdbc__enu.exe
3. 出现提示时,输入安装目录;建议您将此 zip 文件解压缩到 %ProgramFiles% 中的默认目录下:
Microsoft SQL Server 2005 JDBC Driver
4.在环境变量*****PATH后加上C:\Program Files\Microsoft SQL Server 2005 JDBC
Driver\sqljdbc_1.2\enu\sqljdbc.jar(这是1.2版的,其它版本按实际修改......)
但上面只解决了驱动程序的问题.....
三、另外有时候会出现"SQL SERVER 2005使用sa 登录失败-提示该用户与可信 SQL Server 连接无关联"或除sa外的用户登录失败的问题.
解决方法如下:
1.打开SQL Server Management Studio
2.右键点击服务器,选择Properties(属性),点击Security(安全性),
将server authentication服务器身份认证从windows authentication mode(windows身份认证模式)
修改为Sql Server and Windows Authentication mode(SQL server和windows身份认证模式).
3.回到SQL Server Management Studio服务器那,在服务器下双击打开security(安全性) -- logins(登录名)
,右键选中sa,选择properties(属性),点击Status(状态),在设置中将Login(登录)设置为Enabled(启用)。(忘记sa密码的可在常规修改密码)
四、设置SQL Server服务器
1、打开SQL Server Configuration Manager”,双击“SQL Server 2005网络配置”,点击“MSSQLSERVER
的协议”
2、如果“TCP/IP”没有启用,右键单击选择“启动”。
3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433,将IP地址中的“已启用”设为“是”。
4、重新启动SQL Server
5、运行正常。
数据库连接代码
String driveName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=BEye_01_CaseData";
String userName="sa";
String userPwd="sa";
Connection dbConn;
try
{
Class.forName(driveName);
dbConn = DriverManager.getConnection(dbUrl, userName, userPwd);
Print("连接数据库成功!");
Print(dbConn.toString());
Statement stmt = dbConn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM User_Account");
while(rs.next())
{
Print(rs.getString("Name")+"------"+rs.getString("Name"));
}
}
catch(Exception e)
{
e.printStackTrace();
}
错误搜集:
The server does not support version 3.0 of the J2EE Web module specification
1.错误:
在eclipse中使用run->run on server的时候,选择tomcat6会报错误:The server does not support version 3.0 of the J2EE Web module specification
2.原因:
Tomcat 6.0最多支持Servlet 2.5,而现在要import的项目是3.0版本的。
3.解决方法:
在项目根目录下有一个.settings的文件夹,该文件夹下有一个org.eclipse.wst.common.project.facet.core.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?><faceted-project> <fixed facet="java"/> <fixed facet="jst.web"/> <fixed facet="wst.jsdt.web"/> <installed facet="java" version="1.6"/> <installed facet="jst.web" version="3.0"/> <installed facet="wst.jsdt.web" version="1.0"/></faceted-project>把
<installed facet="jst.web" version="3.0"/>改为
<installed facet="jst.web" version="2.5"/>即可
Eclipse开发Web项目
http://wenku.baidu.com/view/e807cb4669eae009581bec08.html
Eclipse Java EE IDE 中使用Tomcat 5X 6X 的一些问题(配置,发布相关)
http://wenku.baidu.com/view/28c4a82e2af90242a895e5cb.html
Eclipse中外部的jar文件引入的方式如下:
右键单击test包下的JListTest.java文件,依次选择build path->configure build path,在打开的窗体下选择Libraries,单击Add External Jars按钮,选择你自己的jar文件,然后打开,点击ok结束
eclipse中几种加入jar包方式的区别
http://www.cppblog.com/wythern/archive/2012/05/17/175205.aspx
关键问题:
5.当出现java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener类似这种找不到Listener的异常 时,要切记spring的jar包一定要放在工程的lib下这样才能避免这个错误的发生。
补充:虽说无论用什么方式导入包在本地运行都是一样的,但实事上我运行时,有的只有Java Build Path才起作用,有的只有导入到lib下才行。用Java Build Path导入包和把包复制到lib下是有区别的,它俩其实不会冲突,也没有什么关系的,Java Build Path是我们编译需要的包,在比如在import ***.***.***时如果没用Java Build Path导入包的话类里面就有红叉,说不识别这个类;导入到lib下是程序运行时需要的包,即便用Java Build Path导入过的包,没放到lib下,运行项目时会出现ClassNotFoundException的异常。
jsp中文显示乱码解决方案
http://www.blogjava.net/yaya/archive/2008/10/05/232513.html
Java如何获取ResultSet记录行数
java获取数据行数的代码如下:
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
rs.last();
int length = rs.getRow();
length的值就是行数了。
如果在获取了行数后,还需要继续使用当前数据集rs,则需要运行rs.beforeFirst();将游标回到初始位置。
浙公网安备 33010602011771号