JSP连接SQL SERVER问题总结

时间:2019-05-12 08:06:49下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《JSP连接SQL SERVER问题总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《JSP连接SQL SERVER问题总结》。

第一篇:JSP连接SQL SERVER问题总结

首先是SQL 2000数据库的安装问题,在此我主要讲些关于SQL 2000的版本与操作系统的兼容性问题:SQL 2000总共有7个不同版本,适应不同等级用户的需求。

我试了一下,在XP系统下只有“个人开发版”能正常安装而不出现错误,所以大家在安装时要注意,具体安装时的配置参照相关说明就可以了。

下面说明如何连接到SQL 2000数据库,首先当然是要下载JDBC驱动程序,最好去微软官方网站下载,然后将下载到的三个JAR包放入你的WEB应用的WEB-INF/lib/下。接下来编写程序进行测试:

/*********************************************** /* /*DBTest.java /* /******************************************* */

import java.sql.*;

public class DBTest {

Connection con;

Statement sta;

ResultSet rs;

String driver;

String url;

String user;

String pwd;

public DBTest()

{

driver = “com.microsoft.jdbc.sqlserver.SQLServerDriver”;;

url

= “jdbc:microsoft:sqlserver:

//localhost:1433;DatabaseName =test”;

//test为数据库名

user

= “sa”;

pwd

= “sa”;

//请更改为你相应的用户和密码

init();

}

public void init()

{

try{

Class.forName(driver);

System.out.println(“driver is ok”);

con = DriverManager.getConnection(url,user,pwd);

System.out.println(“conection is ok”);

sta = con.createStatement();

rs = sta.executeQuery

(“select * from room”);

while(rs.next())

System.out.println

(rs.getInt(“roomNum”));

}catch(Exception e)

{

e.printStackTrace();

}

}

public static void main(String args[])

//自己替换[]

{

new DBTest();

} }

按道理讲,上边这段代码应该没错,可首先我们来看一下,如果sqlser服务器没有升级到sp3(在使用jdbc时,如果系统是xp或者2003务必要把sqlserver 升级到sp3,往上到处都有下的),我们看看运行结果:

driver is ok java.sql.SQLException: [Microsoft] [SQLServer 2000 Driver for JDBC] Error establis hing socket.at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source)

at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou rce)

at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S ource)

at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)

at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)

at java.sql.DriverManager.getConnection(DriverManager.java:523)

at java.sql.DriverManager.getConnection(DriverManager.java:171)

at DbTest.init(DbTest.java:32)

at DbTest.(DbTest.java:25)

at DbTest.main(DbTest.java:46)Press any key to continue...出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接。如果升级到sp3则这个问题可以结决,我们再来看看升级之后,程序运行的结果:

driver is ok conection is ok java.sql.SQLException:

[Microsoft][SQLServer 2000 Driver for JDBC] [SQLServer]对

象名 ’room’ 无效。

at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour ce)

at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState

(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.postImplExecu te(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal

(Unknown So urce)

at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)

at DbTest.init(DbTest.java:35)

at DbTest.(DbTest.java:25)

at DbTest.main(DbTest.java:46)Press any key to continue...在这儿,用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于sa用户为系统用户,它虽然能够登陆数据库,但是test数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户share,建立过程如下:

在test数据库中选重用户---〉新建用户--〉名称选择(这一步中有两个关键点:身份验证选sql身份验证,默认数据库选test)-〉建立新教色share,此时更改程序,将用户登陆名和密码修改一下,重新运行程序:

driver is ok conection is ok 1001 1002 1003 1004 1005 1006 Press any key to continue...这次顺利通过测试

其实这些小问题花了我一个晚上才解决,真是浪费时间,所以写下来希望能使遇到类似问题的朋友不要重蹈覆辙,在此提醒大家遇到问题时多上网查查,多在论坛里问问,这样你学到的会更多,更节省时间,更有效率。

总结:Sqlserve 和JDBC 的融合问题,关键涉及到sp3补丁(端口开放)还有用户问题,解决这两个问题之后,剩余的便是Sqlserver 操作问题了,还有一点在远程操作的时候,要把Sqlserver 组设置一下,在安全性里边亦将身份验证更改为Sqlserve 验证即可。

------------------------------------------------windows xp sp2下jsp连接sql server 2000

注意:由于博客的文本编辑带有html代码解释功能,本文中对代码做了一定的改动,把所有的<改成了#,所有的>改成了$,如果需要用代码可以用记事本的“替换”功能替换回来即可。基本信息:windows xp sp2、Tomcat5.0、J2SDK1.5、Sql server 2000开发版

一、安装JDK 这个没有什么好说的,需要注意的是JDK1.5和以前的版本有个不同点,它默认的安装目录在C:Program FilesJava目录下,由于路径名里有空格,所以可能会给以后的命令行执行有一定的影响,并且和以往的习惯也有些不同,所以建议安装到C盘目录下就可以了。我的路径是C:jdk1.5

二、安装Tomcat 一路NEXT下来就可以了,注意有会有一个设置用户名密码的提示。我是安装在C:Tomcat 5.0了。

三、安装SQL Server2000 注意在windos xp下只能装两个版本,一个是开发版,另一个好像是个人版,记不得了。装的时候也基本上是一路NEXT下来,不过有一个地方要选择是采用Windows NT验证方式,一种是采用混合验证模式,为了安全,建议采用后者。并且要给超级管理员sa设上密码。最重要的是,不要忘了给SQL Server 2000打上补丁。由于sql server 2000存在漏洞,我们宿舍楼的局域网就因为中毒机器太多而造成网络拥塞。在windows xp中就把1433端口屏蔽了。要启用这个端口,要安装一个sql server 2000的sp3补丁。

四、设置环境变量

path路径:在系统变量的path前面加上C:Tomcat 5.0bin;C:jdk1.5bin;classpath路径.;C:jdk1.5libdt.jar;C:jdk1.5libtools.jar;C:jdk1.5librt.jar;C:jdk1.5;C:Tomcat 5.0commonlib,其中的.代表当前路径,其它的可以简单的设为C:jdk1.5lib,但是最好还是一个一个列出来。注意这里你如果在连接数据库时用到的是JDBC-ODBC桥接的方式的话,还要把桥接的驱动的路径加在classpath里面。有一个细节,好像在jdk1.5中,这个驱动不在C:jdk1.5lib下,而是在C:jdk1.5jrelib的rt.jar中,可以适当的设置一下或者把这个文件拷贝到classpath能到达的地方。

java_home路径:C:jdk1.5,即是jdk的安装目录。

tomcat_home路径:C:Tomcat 5.0,即是tomcat的安装目录。catalina_home路径:C:Tomcat 5.0 catalina_base路径:C:Tomcat 5.0,这两个环境变量的作用是可以通过命令行方式来启动和关闭tomcat,方法是打开命令行提示窗口,键入startup就可以启动,键入shutdown就可以关闭了。注意不要强行关闭tomcat,因为既然给了一个关闭的方式必然有它的道理,为了安全起见,还是用shutdown来关闭较为合适。当然不设置这两个环境变量也可以,只不要启动时用鼠标来从开始菜单启动。

五、建立数据库表

建立一个数据库testdb,在它里面建立一个表users。里面有两列,name和password,数据类型都取默认的char类型就行了。注意在SQL SERVER中表的名字不能为user。否则会出现错误。

六、配置数据DSN 打开“控制面板->性能与维护->管理工具->数据源”,点击“系统DSN”,点击“添加”,数据驱动选择“SQL SERVER”,点击“完成”,在弹出的对话框的“名称”里填入此DSN的名称,比如test。“描述”可以不填,“服务器”选择本地,即(local)。点击“下一步”,将弹出一个新的对话框。选择“使用sql server验证”,在下方填入用户名和密码。点击“下一步”,在新弹出的对话框的上方,选中“更改默认的数据库为”,在下侧的下拉菜单里选择你要映射的数据库,这里我们选择testdb。点击“下一步”,再点击“完成”。在新的对话框下方有个“测试数据源”的按钮,点击它,如果出现“测试成功”则表示建立DSN成功。点击完成即可。注意以后在程序中访问数据库是根据这里的系统DSN的名称来访问数据库的,而非真实的数据库名,在这里即是通过test而非testdb。

七、写测试网页文件

这里我们写一个简单的功能,有两个页面,第一个页面adduser.htm负责与用户进行交互,它可以让用户输入用户名和密码,并且提交它,但是它自己不处理,而是由第二个页面文件处理。第二个页面为jdbc.jsp,它接受第一个页面传递过来的参数,然后把它插入到users表中,然后把表中所有的用户都检索出来并且显示它。把这两个文件放在一个文件夹jdbc中,在jdbc文件夹中新建一个文件夹,名称为WEB-INF,在它里面建一个web.xml文件,然后把jdbc文件夹放到tomcat的工作目录C:Tomcat 5.0webapps中。web.xml内容

#?xml version=“1.0” encoding=“ISO-8859-1”?$ #!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”$ #web-app$ #display-name$My Web Application#/display-name$ #description$ A application for test.#/description$ #/web-app$ adduser.htm文件内容:

#html$ #head$ #title$Add User#/title$ #/head$ #body$ #form method=“POST” action=“jdbc.jsp”$ #p align=“center”$姓名

#input type=“text” name=“name” size=“20”$#/p$ #p align=“center”$密码

#input type=“password” name=“pwd” size=“20”$#/p$ #p align=“center”$

#input type=“submit” value=“提交” name=“B1”$#/p$ #/form$ #/body$ #/html$

jdbc.jsp文件内容: #html$

#head$#title$Add User to DB#/title$#/head$

#%@page import=“java.sql.*”%$

#%@page import=“com.microsoft.jdbc.sqlserver.SQLServerDriver”%$

#%@page import=“com.microsoft.jdbc.*”%$

#%@page import=“java.util.*”%$ #body$

#pre$ #% //Get parameters from request String name,pwd;int num;name=request.getParameter(“name”);pwd=request.getParameter(“pwd”);//add infomation to DB try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”).newInstance();Connection con=DriverManager.getConnection(“jdbc:odbc:test”,“sa”,“like”);Statement stmt=con.createStatement();stmt.executeUpdate(“insert into users values('”+name+“','”+pwd+“')”);//query DB for display all users ResultSet rs=stmt.executeQuery(“select * from users”);//rs.first();out.println(“All user in DB!”);while(rs.next()){

out.print(“user name: ”);

out.print(rs.getString(“name”)+“

password: ”);

out.println(rs.getString(“password”));} num=stmt.getMaxRows();out.println(num);rs.close();stmt.close();con.close();}catch(Exception ex){

out.println(ex.getMessage());

} %$

#/pre$ #/body$ #/html$

八、测试效果

启动tomcat,启动浏览器,在浏览器的地址栏中键入http://localhost:8080/jdbc/adduser.htm,在出现 的网页中填入用户名密码,点击“提交”,即可跳到jdbc.jsp文件,列出此时数据库中所有的用户。

第二篇:小结SQLServer连接失败错误及解决

小结SQL Server连接失败错误及解决

在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。

一、客户端工具连接失败

在使用 SQL Server 自带的客户端工具(以企业管理器为例)连接 SQL Server时,最常见的错误有如下一些:

1、SQL Server 不存在或访问被拒绝

ConnectionOpen(Connect())

2、用户'sa'登录失败。原因:未与信任 SQL Server 连接相关联。

3、超时已过期。

下面我们依次介绍如何来解决这三个最常见的连接错误。

第一个错误“SQL Server 不存在或访问被拒绝”通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性:

1、SQL Server名称或IP地址拼写有误;

2、服务器端网络配置有误;

3、客户端网络配置有误。

要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。

首先,检查网络物理连接:

ping <服务器IP地址>

或者

ping <服务器名称>

如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server。防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。

如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:

1、使用记事本打开HOSTS文件(一般情况下位于C:WINNTsystem32driversetc).2、添加一条IP地址与服务器名称的对应记录,如:

172.168.10.24 myserver

也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。

其次,使用 telnet 命令检查SQL Server服务器工作状态:

telnet <服务器IP地址> 1433

如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接;如果命令返回“无法打开连接”的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。

接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道,是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。

点击:程序-> Microsoft SQL Server-> 服务器网络使用工具,打开该工具后看到的画面如下图所示:

从这里我们可以看到服务器启用了哪些协议。一般而言,我们启用命名管道以及 TCP/IP 协议。

点中 TCP/IP 协议,选择“属性”,我们可以来检查 SQK Server 服务默认端口的设置,如下图所示:

一般而言,我们使用 SQL Server 默认的1433端口。如果选中“隐藏服务器”,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。

检查完了服务器端的网络配置,接下来我们要到客户端检查客户端的网络配置。我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具。

点击:程序-> Microsoft SQL Server-> 客户端网络使用工具,打开该工具后看到的画面如下图所示:

从这里我们可以看到客户端启用了哪些协议。一般而言,我们同样需要启用命名管道以及 TCP/IP 协议。

点击 TCP/IP 协议,选择“属性”,可以检查客户端默认连接端口的设置,如下图所示。

该端口必须与服务器一致。

单击“别名”选项卡,还可以为服务器配置别名。服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。如下图中,我们可以使用myserver来代替真正的服务器名称sql2kcn-02,并且使用网络库 Named Pipes。别名的设置与使用HOSTS文件有相似之处。

通过以上几个方面的检查,错误 1 发生的原因基本上可以被排除。下面我们再详细描述如何来解决错误 2。

当用户尝试在查询分析器里面使用sa来连接SQL Server,或者在企业管理器里面使用sa来新建一个SQL Server注册时,经常会遇到如图 2 所示的错误信息。该错误产生的原因是由于SQL Server使用了“仅 Windows”的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa)进行连接。解决方法如下所示:

1、在服务器端使用企业管理器,并且选择“使用 Windows 身份验证”连接上 SQL Server;

2、展开“SQL Server组”,鼠标右键点击SQL Server服务器的名称,选择“属性”,再选择“安全性”选项卡;

3、在“身份验证”下,选择“SQL Server和 Windows ”。

4、重新启动SQL Server服务。

在以上解决方法中,如果在第 1 步中使用“使用 Windows 身份验证”连接 SQL Server 失败,那么我们将遇到一个两难的境地:首先,服务器只允许了 Windows 的身份验证;其次,即使使用了 Windows 身份验证仍然无法连接上服务器。这种情形被形象地称之为“自己把自己锁在了门外”,因为无论用何种方式,用户均无法使用进行连接。实际上,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:

1、点击“开始”-“运行”,输入regedit,回车进入注册表编辑器;

2、依次展开注册表项,浏览到以下注册表键:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServer]

3、在屏幕右方找到名称“LoginMode”,双击编辑双字节值;

4、将原值从1改为2,点击“确定”;

5、关闭注册表编辑器;

6、重新启动SQL Server服务。

此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server。这是因为在 SQL Server 中有两个缺省的登录帐户:BUILTINAdministrators 以及 <机器名>Administrator 被删除。要恢复这两个帐户,可以使用以下的方法:

1、打开企业管理器,展开服务器组,然后展开服务器;

2、展开“安全性”,右击“登录”,然后单击“新建登录”;

3、在“名称”框中,输入 BUILTINAdministrators;

4、在“服务器角色”选项卡中,选择“System Administrators” ;

5、点击“确定”退出;

6、使用同样方法添加 <机器名>Administrator 登录。

以下注册表键

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerLoginMode 的值决定了SQL Server将采取何种身份验证模式。该值为1,表示使用Windows 身份验证模式;该值为2,表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)。

看完如何解决前两个错误的方法之后,让我们来看一下如图 3 所示的第三个错误。

如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。

要解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因)。具体步骤为:

1、在企业管理器中,选择菜单上的“工具”,再选择“选项”;

2、在弹出的“SQL Server企业管理器属性”窗口中,点击“高级”选项卡;

3、在“连接设置”下的“登录超时(秒)”右边的框中输入一个比较大的数字,如 20。

查询分析器中也可以在同样位置进行设置。

二、应用程序连接失败

以上的三种错误信息都是发生在 SQL Server 自带的客户端工具中,在应用程序中我们也会遇到类似的错误信息,例如:

Microsoft OLE DB Provider for SQL Server(0x80004005)[DBNETLIB][ConnectionOpen(Connect()).]Specified SQL server not found.Microsoft OLE DB Provider for SQL Server(0x80004005)用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'.[Microsoft][ODBC SQL Server Driver]超时已过期.首先,让我们来详细看以下的示意图来了解一下使用 ODBC 和使用 OLE DB 连接 SQL Server 有什么不同之处。

从上图中,我们可以看出在实际使用中,应用程序创建和使用各种 ADO 对象,ADO 对象框架调用享用的 OLE DB 提供者。为了访问 SQL Server 数据库,OLE DB 提供了两种不同的方法:用于 SQL Server 的 OLE DB 提供者以及用于 ODBC 的 OLE DB 提供者。这两种不同的方法对应于两种不同的连接字符串,标准的连接字符串写法如下所示:

1、使用用于 SQL Server 的 OLE DB 提供者:

使用 SQL Server 身份验证:

oConn.Open “Provider=sqloledb;” & _ “Data Source=myServerName;” & _ “Initial Catalog=myDatabaseName;” & _ “User Id=myUsername;” & _ “Password=myPassword”

使用 Windows 身份验证(信任连接): oConn.Open “Provider=sqloledb;” & _ “Data Source=myServerName;” & _ “Initial Catalog=myDatabaseName;” & _ “Integrated Security=SSPI”

2、使用用于 ODBC 的 OLE DB 提供者(不使用 ODBC 数据源):

使用 SQL Server 身份验证:

oConn.Open “Driver={SQL Server};” & _ “Server=MyServerName;” & _ “Database=myDatabaseName;” & _ “Uid=myUsername;” & _ “Pwd=myPassword”

使用 Windows 身份验证(信任连接): oConn.Open “Driver={SQL Server};” & _ “Server=MyServerName;” & _ “Database=myDatabaseName;” & _ “Trusted_Connection=yes”

3、使用用于 ODBC 的 OLE DB 提供者(使用 ODBC 数据源): oConn.Open “DSN=mySystemDSN;” & _ “Uid=myUsername;” & _ “Pwd=myPassword”

如果遇到连接失败的情况,我们只要按照一中所示的方法,结合程序中的连接字符串进行检查,基本都能得到解决。另外,还有以下几个要注意的地方:

1、配置 ODBC 数据源时,点击“客户端”配置选项可以让我们指定连接使用的网络库、端口号等属性,如下图所示:

2、如果遇到连接超时的错误,我们可以在程序中修改 Connection 对象的超时设置,再打开该连接。例如:

<% Set Conn = Server.CreateObject(“ADODB.Connection”)

DSNtest=“DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase” Conn.Properties(“Connect Timeout”)= 15 '以秒为单位

Conn.open DSNtest

%>

3、如果遇到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如:

Dim cn As New ADODB.Connection Dim rs As ADODB.Recordset

...cmd1 = txtQuery.Text Set rs = New ADODB.Recordset rs.Properties(“Command Time Out”)= 300 '同样以秒为单位,如果设置为 0 表示无限制

rs.Open cmd1, cn rs.MoveFirst

...三、小结

本文针对大部分用户在使用 SQL Server 过程中常见的连接失败的错误,重点讨论了在使用 SQL Server 客户端工具以及用户开发的应用程序两种情况下,如何诊断并解决连接失败的错误。看过本文以后,相信每一个读者都会对 SQL Server 的连接工作原理、身份验证方式以及应用程序开发等有一个较为全面而深入的连接。本文中所有的测试或者示例均在 Windows 2000 Advanced Server + SQL Server 2000 企业版上通过。

第三篇:SQL_Server_ODBC数据源连接失败问题总结

SQL Server ODBC数据源连接失败问题总结

本文针对SQL Server 不存在或是访问被拒绝、[Microsoft][ODBC Sql Server Driver]无效的连接、SQLSERVER错误:18452三种常见的连接错误问题,提出了解决的方法,并且亲身实践。在提出问题之前,首先要检查防火墙和杀毒软件是否关闭,接着,在建立连接的时候,要保证SQL Server 服务器是打开的。以上都做到后,请参考下文的出错情况以及解决方法。

一、错误1:SQL Server 不存在或是访问被拒绝

SQLState:01000 SQL Server 错误: 64 [Microsoft][ODBC SQL Server Driver][DBNETLIB] ConnectionOpen(Connect())连接失败

SQLState:08001 SQL Server 错误: 17 [Microsoft][ODBC SQL Server Driver][DBNETLIB] SQL Server 不存在或是访问被拒绝

检查1433端口是否打开

没有找到1433端口

说明1433端口没有打开。

打开1433端口的方法:

1.针对我安装的系统SP3,安装的SQL2005默认TCP/IP的状态是禁止的,因此:

选择SQL Server Configuration Manager,然后分别打开SQL Server 2005 Services和SQL Server 2005 Client Configuration,并把TCP/IP和Nameed Pipes的状态设置为Enabled;

2.如果不行,就需要更新系统

更新后,一定要重启电脑。

.重新检查1433端口,如下图所示,发现1433已经打开。

二、错误2:[Microsoft][ODBC Sql Server Driver]无效的连接

再次打开ODBC,进行到第二步时,又出错了,不过这次的错误如图所示,显示的无效的连接,和之前的错误不同。连接失败

Sqlstate :'01000' Sql server错误:14

[Microsoft][ODBC Sql Server Driver][DBNETLIB] connectionOpen(Invalid Instance())

连接失败:

Sql State:'08001' Sql Server错误:14

[Microsoft][ODBC Sql Server Driver]无效的连接

原因在于你的服务器没有启动,只要启动服务器即可

解决的方法如下:

1.选择下图的SQL Server Surface Area Configuration

接着如下图所示,依次点击Surface Area Configuration for Services and Connections和Surface Area Configuration for Features

如下面两个图所示,必须保证startup type为Automic,以及service status为Running(即start按钮键为灰色)。

三、错误3:SQLSERVER错误:18452

设置完毕后,再次打开ODBC,进行到第二步时,又出错了,不过这次的错误又和之前的错误不同,SQLSTATE:28000

SQLSERVER错误:18452

[MICROSOFT][ODBC SQLSERVER DRIVER][SQL SERVER]用户‘sa’ 登录失败

原因:未与信任SQL Server连接相关联

该错误产生的原因是由于SQL Server使用了“仅

Windows”的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如

sa)进行连接。

SQL 服务器已配置为在 “ Windows 身份验证模式(Windows 身份验证)” 操作和不允许使用 SQL 帐户。

解决方法如下:

1、设置允许SQL Server身份登录 操作步骤:

第一步:在“Microsoft SQL Server Management Stdio”中,展开“SQL Server组”,鼠标右键点击SQL Server服务器的名称。

第二步:选择“属性”

第三步:再选择“安全性”选项卡

第四步:在“身份验证”下,选择“SQL Server和Windows身份验证模式” 第五步:确定,并重新启动SQL Server服务。

2、如果还是没解决,可以检查SA用户是否被打开: 第一步:右键SA用户,打开属性。

第二步:选择“状态”选项卡,勾选登陆中的启用。

SA没有被启用,在数据库刚开始使用的时候很容易出现,安装的SQLServer,SA用户默认是关闭的,往往不被人知道。

到此,创建到SQL Server 2005的数据源成功!附图如下

第四篇:JSP课程总结

JSP课程总结

1006010101 计算机1班

董楠楠

在学习这门课之前,JSP对于我来说是一个全新的领域,包括其基础的HTML静态网页的相关知识,数据库方面,服务器的作用都不了解。一开始难免的失意和紧张,觉得这门课对我来说是一种挑战。经过一个学期的课程学习以及近期的基于JSP的网盘课程设计,我对这门课终于有了初步的了解,虽然掌握得很肤浅,但内心很兴奋,很欣喜,新的语言入门很难,但我相信在日后的学习中,我会有一定的突破。

JSP的全称是Java Server Pages,它是一种动态网页技术。我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。

通过以上知识的学习,对开发简单的动态网页有了些许的眉目,又进一步加深了对JSP的了解。比如我们此次的课设,设计一个网络硬盘,用户可以再上面上传、下载资料,存储基本信息。

JSP在工作时,首先启动服务器,并且保证应用在服务器上,客户通过浏览器发送请求,服务器接收到请求之后,查找有没有这个文件对应的JAVA文件的对象。如果没有这个文件,则需要创建(先把JSP文件转换成JAVA文件,编译成.class文件,加载类并创建对象),然后调用对象的相应方法,方法完成对用户的响应,通常输出的是HTML代码,客户端接收到HTML代码,浏览器解析这个代码生成画面。

在网站设计中,处处离不开Servlet,它充当一个控制器,负责封装数据,处理业务,页面分发。客户端发送请求至服务器,服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器,服务器再将响应返回客户端。网盘开发的整个过程中,都充分体现了MVC原理,MVC是一种架构模式,该设计模式把系统分为以下三个模块:模型层(Model):包括业务层BIZ、数据持久层DAO、实体层JavaBean ;视图层(View):对应的组件是Jsp或Html文件,此次课设对应的是Jsp文件控制器(Controller):对应的组件是Servlet。MVC模式通过引入控制器的方法将视图层与模型层解耦、分离。Model层开发又涉及到数据库连接池,连接池相当于一个容器,该容器里装有多个连接,每当有用户请求时容器就会自动拿出一个连接对象,当用户用完之后,容器又会将使用完毕的连接对象收回。

Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含 Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。

Jsp开发中,很重要的一点便是实现Tomcat与数据库的链接,通过高级JDBC实现,基于model层的开发。在网盘的设计中也得到了充分的体现,我们写了一个数据库连接类以实现Tomcat与数据库的连接。在使用HTTP协议将客户端的请求传送到服务器端时,通过以下方法。1)get是从服务器上获取数据,post是向服务器传送数据。2)在客户端,Get方式在通过URL提交数据,数据在URL中可以看到,POST方式,数据放置在HTML HEADER内提交。3)对于get方式,服务器端用request.getQueryString()可以获取GET请求参数的变量值,对于post方式,服务器端用request.getParameter获取提交的数据。

以上便是我学习JSP这门课的总结以及心得。

第五篇:JSP语法总结

JSP语法(1)——HTML注释

HTML 注释 在客户端显示一个注释.JSP 语法 例子 1 在客户端的HTML源代码中产生和上面一样的数据: 例子 2 在客户端的HTML源代码中显示为: 描述 这种注释和HTML中很像,也就是它可以在“查看源代码”中看到。唯一有些不同的就是,你可以在这个注释中用表达式(例子2所示)。这个表达示是不定的,由页面不同而不同,你能够使用各种表达式,只要是合法的就行。

JSP语法(2)——隐藏注释

隐藏注释 写在JSP程序中,但不是发给客户。JSP 语法 <%--comment--%> 例子: <%@ page language=“java” %> A Comment Test

A Test of Comments

<%--This comment will not be visible in the page source--%>

下载JSP连接SQL SERVER问题总结word格式文档
下载JSP连接SQL SERVER问题总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    jsp选择题总结

    一.选择题(每题2分,共40分) 1、page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:()。 A、作用于整个JSP页面B、可以在一个页面中使用多个指令 C、为增强程......

    jsp知识点总结[精选合集]

    JSP期末复习总结 作者:张焕 HTML基础知识:HTML常用标签和元素 charset=”gbk” //设置字符集 //设置背景颜色 //设置背景图片 定义预先排版的文本 自动换行与首行缩进 定......

    JSP基础总结范文

    JSP基础总结之一 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*......

    jsp课程总结

    Jsp课程总结 学习jsp课程一个学期了,对于jsp的课程也有了一些了解。 从知道什么是jsp,到了解jsp的开发环境,到jsp的处理过程,,到jsp开发的基础,到jsp的语法等等。 首先,Jsp是一种......

    SQLServe数据源连接失败问题总结(精选5篇)

    SQL Server ODBC数据源连接失败问题总结 本文针对SQL Server 不存在或是访问被拒绝、[Microsoft][ODBC Sql Server Driver]无效的连接、SQLSERVER错误:18452三种常见的连接错......

    MySQL数据库连接超时(Wait_timeout)问题总结

    当应用程序和数据库建立连接时,如果超过了8个小时,应用程序不去访问数据库,数据库就会出现断掉连接的现象 。这时再次访问就会抛出异常. 一般的解决方法大多是在数据库连接字符......

    jsp页面制作中遇到的问题总结

    绝对定位中的页面居中办法 Chrome、firefox下在body之间加......

    jsp学习总结MXJ

    jsp+java+struts2 (myeclipse+tomcat+mysql) 马秀娟 2010.09.6(始)一、jsp 1.1 固定表格显示内容在火狐的兼容问题 在固定的表格内,显示的内容如果大于表格的大小则其余内......