没有合适的资源?快使用搜索试试~ 我知道了~
MS SQL Server2000 For JDBC 一揽子解决方案
需积分: 3 32 下载量 98 浏览量
2008-04-30
21:43:56
上传
评论
收藏 527KB DOC 举报
温馨提示
试读
16页
使用JDBC链接微软的SQLServer数据库会碰到许多问题,网上提供一些资料,但不够完成和系统。本资料为使用者提供数据库连接不上、几种JDBC建立连接的代码、Weblogic下配置连接池等一揽子解决方案及其使用例子。希望对初学者有所帮助。
资源推荐
资源详情
资源评论
MS SQL Server2000 For JDBC 一揽子解决方案
第一篇 SQL 服务器连接问题的处理
一 、看 ping 服务器 IP 能否 ping 通
这个实际上是看和远程 sql server 2000 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,
当然得确保远程 sql server 2000 服务器的 IP 拼写正确。
二、 在 Dos 或命令行下输入 telnet 服务器 IP 端口,看能否连通
如 telnet 202.114.100.100 1433
通常端口值是 1433,因为 1433 是 sql server 2000 的对于 Tcp/IP 的默认侦听端口。如果有问题,通
常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了 sql server 2000 服务。如果没有,则启动。
2 检查服务器端有没启用 Tcp/IP 协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,
在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否
有 tcp/ip 协议,如果没有,则启用它。
3 检查服务器的 tcp/ip 端口是否配置为 1433 端口。仍然在服务器网络实用工具里查看启用协议里
面的 tcp/ip 的属性,确保默认端口为 1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做 telnet 测试时,写服务器端口号时
必须与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举
服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是 Tcp/ip 协议的默认端口将被隐式
修改为 2433,在客户端连接时必须作相应的改变。
4 如果服务器端操作系统打过 sp2 补丁,则要对 windows 防火墙作一定的配置,要对它开放 1433
端口,通常在测试时可以直接关掉 windows 防火墙(其他的防火墙也关掉最好)。
5 检查服务器是否在 1433 端口侦听。如果服务器没有在 tcp 连接的 1433 端口侦听,则是连接不上
的。检查方法是在服务器的 dos 或命令行下面输入
netstat -a -n 或者是 netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 1433 listening 的项。如果
没有,则通常需要给 sql server 2000 打上至少 sp3 的补丁。其实在服务器端启动查询分析器,输入
select @@version 执行后可以看到版本号,版本号在 8.0.2039 以下的都需要打补丁。
如果以上都没问题,这时你再做 telnet 服务器 ip 1433 测试,将会看到屏幕一闪之后光标在左上角
不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
三、 检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户
端 tcp/ip 协议启用,并且默认端口为 1433(或其他端口,与服务器端保持一致就行)。
1
MS SQL Server2000 For JDBC 一揽子解决方案
四、 在企业管理器里或查询那分析器连接测试
企业管理器->右键 SQlserver 组->新建 sqlserver 注册->下一步->写入远程 IP->下一步->选 Sqlserver
登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成
查询分析器->文件->连接->写入远程 IP->写入登录名和密码(sa,password)->确定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台 SQL Server 的超时
设置是 4 秒,而查询分析器是 15 秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在弹出的"SQL Server 企业管理器属性"窗口中,点击"高级"选项卡->连
接设置->在 登录超时(秒) 后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字
通常就可以连通了,如果提示错误,则进入下一步。
五、 Windows 的身份验证方式
错误产生的原因通常是由于 SQL Server 使用了"仅 Windows"的身份验证方式,因此用户无法使用
SQL Server 的登录帐户(如 sa )进行连接。解决方法如下所示:
1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。
2 展开"SQL Server 组",鼠标右键点击 SQL Server 服务器的名称,选择"属性",再选择"安全性"选
项卡。
3 在"身份验证"下,选择"SQL Server 和 Windows "。
4 重新启动 SQL Server 服务 。 ( 在 dos 或命 令行下面 net stop mssqlserver 停止服务,net start
mssqlserver 启动服务,也是一种快捷的方法)。
附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用
的协议有这个),默认端口是 445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全
不同的协议)
第二篇 JDBC 连接 SQL Server2000 解决方案
一、不同的连接方式
不同的驱动,处理方法不同,创建数据连接对象里面的字符串参数写法不同。
2
MS SQL Server2000 For JDBC 一揽子解决方案
1.JDBC—ODBC 桥(type-1)
已建好的数据库“学生信息”有表“sdutent”
在 Windows 下建立数据源:
“开始”——“设置”——“控制面板”——“管理工具”——“数据源(ODBC)” 打开“ODBC 数
据源管理器”对话框,单击“系统 DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对
话框,选择“SQL Server”并单击“完成”按钮,在出现的“建立新的数据源到 SQL Server”
对话框中的“数据源名称”项填写“myodbc_jdbc”并选取“服务器名”,然后单击“下一步”
按钮,选择“使用网络登录 ID 的 Windows NT 验证”项目,单击“下一步”按钮,把默认的
数据库改为“mydata”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,
成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序的建立。
建立数据源连接对象的写法:
String driver2="sun.jdbc.odbc.JdbcOdbcDriver";
String url2="jdbc:odbc:myodbc_jdbc";
Class.forName(driver2);
Connection con = DriverManager.getConnection(url2,"sa","54321");
2.MS SQLServer2000 For JDBC(type-4)
这是微软出品的 SQL2000 JDBC 驱动程序。可以到微软官方网站下载。
Microsoft SQL Server 2000 Driver for JDBC 是一个安装包,经过安装后,安装目录
的\lib 目录下有三个 jar 文件,这三个 jar 包就是驱动程序,其余文件与驱动程序无关:
mssqlserver.jar
msutil.jar
msbase.jar
这三个 jar 包要加到“环境变量”的 classpath 中,在集成开发工具里也要在相应的
Libraries 管理中加入。
建立数据源连接对象的写法:
String driver1 = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url1 = "jdbc:microsoft:sqlserver://askeda:1433;databaseName=mydb";
Class.forName(driver1);
Connection con = DriverManager.getConnection(url1,"sa","54321");
3.WebLogic 自带驱动(type-4)
这是 WebLogic 服务器自带的 SQL Server2000 的驱动程序。对于使用 WebLogic 服务
器来说使用及其方便,不用做驱动程序方面的任何预处理。但不支持中文。一般对中文
字符串的存取通过一个函数进行一下编码转换。
建立数据源连接对象的写法:
String driver3 = "weblogic.jdbc.mssqlserver4.Driver";
3
MS SQL Server2000 For JDBC 一揽子解决方案
String url3=“jdbc:weblogic:mssqlserver4:vote_result@askeda:1433”;
Class.forName(driver3);
Connection con= DriverManager.getConnection("url3","sa","543
编码转换函数:
public String getStr(String str)
{ try { String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;
} catch(Exception e)
{ }
return "null";
}
4.WebLogic 数据库连接池(type-3)
在服务器端配置连接池可以大大提高数据的访问速度。有关连接池的配置和解决的问题见第三篇。
二、数据操作
JDBC 数据访问 API 有两个方法:
1.查询 executeQuery(select 语句),返回结果集。
2.插入和更新 executeUpdate(insert 语句,delete 语句,update 语句),返回更新语句的条数
三、JDBC 应用举例
该程序实验了两种类型的驱动及对数据的操作。
public class Test_JDBC
{ public static void main(String[] args)
{ String driver1 = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String driver2="sun.jdbc.odbc.JdbcOdbcDriver";
String url1 = "jdbc:microsoft:sqlserver://askeda:1433;databaseName=mydb";
String url2="jdbc:odbc:myodbc_jdbc";
try { Class.forName(driver1);
// Class.forName(driver2);
Connection con = DriverManager.getConnection(url1,"sa","54321");
// Connection con = DriverManager.getConnection(url2,"sa","54321");
if (con!=null) { System.out.println("success");
}else { System.out.println("failure");
}
4
剩余15页未读,继续阅读
资源评论
shenwenxuan
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功