| 
  
 
|  [Java报表软件—技术知识]Sql server 2000 连接测试 |  
| 1. Sql server 2000 数据库本身规定了其数据库连接URL 的一般格式,如下:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
之间无空格,其中:
•	jdbc:sqlserver://(必需)称为子协议,且为常数。
•	serverName(可选)是要连接到的服务器的地址。它可以是 DNS 或 IP 地址,也可以是本地计算机地址 localhost 或 127.0.0.1。如果未在连接 URL 中指定服务器名称,则必须在属性集中指定。
•	instanceName (可选)是 serverName 上要连接到的实例。如果未指定,则会连接到默认实例(master)。
•	portNumber(可选)是 serverName 上要连接到的端口。默认值为 1433。如果使用默认端口,则无需在 URL 中指定端口及其前面的“:”。
•	property(可选)是一个或多个选项连接属性。有关详细信息,请参阅设置连接属性。可指定该列表中的任何属性。属性只能用分号(“;”)分隔,且不允许重复。
2.  连接实例写法有:
A.	使用用户名和密码连接到本地计算机上的默认数据库:
jdbc:sqlserver://localhost;user=MyUserName;password=*****; 
B.	使用集成身份验证连接到本地计算机上的默认数据库:
jdbc:sqlserver://localhost;integratedSecurity=true; 
C.	连接到远程服务器上的指定数据库:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true; 
D.	连接到远程服务器上的默认端口:
jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true; 
E.	通过指定自定义应用程序名称进行连接:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp; 
3 .以我们设计器中的URL写法为例详细说明:
jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test
其中
(1).  databaseName=test 为连接属性,属性值只用“;”分割,我们只用了一个,如有多个属性便可写成:
;databaseName=test;user=MyUserName;password=*****;
因此在test后加不加“;” 连接效果一样,即URL写成
jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test
或jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test;
都能正确读取test数据库
(2). Sql server 2000 数据库默认的端口为1433,默认的数据库实master(应该是安装时自带的数据库)
  当URL中databaseName 前误加了一“_”空格后,如下:
jdbc:microsoft:sqlserver://192.168.100.112:1433; databaseName=test
此时获取URL时自动判断空格时URL结束,即获得的实际URL为:
jdbc:microsoft:sqlserver://192.168.100.112:1433;
 而此URL连接的为sql server 2000 默认的数据库 master,所以读取的就是数据库master中的表
结论:
在写sql server 2000的数据库URL时,除其本身已有的特殊字符外,要添加其他特殊字符必须进行转义,将这些字符包含在大括号中, JDBC 驱动程序将支持对其进行转义。例如,{;} 将转义分号。
转义的值可以包含特殊字符(特别是“=”、“;”、“[]”和空格),但不能包含大括号。应将必须进行转义且包含大括号的值添加到属性集中。
方案:
将我们所用的数据库改变为默认数据库是一种方法,但一般存在多个可用的数据库,所以除sqlserver 本身规定的URL格式外,在我们的程序中最好进行限制,只使用
jdbc:microsoft:sqlserver://ip:port;databaseName=Databasename
一种写法,且中间不能有空格等
 
 |  
|  |    
 
 
 
 
 
 
 | 
 
|  .: 公告 
 
| 
 本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |  |  
 
|  
 
| | « | October 2025 | » |  | 日 | 一 | 二 | 三 | 四 | 五 | 六 |  |  |  |  | 1 | 2 | 3 | 4 |  5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |  | |  | 
 |  
 .: 我的分类(专题)  |  
 
|  
 .: 最新日志  
 .: 最新回复
 
 
 
 |  
 
|  
 
| blog名称:Java报表软件 日志总数:357
 评论数量:69
 留言数量:0
 访问次数:1228367
 建立时间:2006年4月16日
 |  
 |  
 
|  
 .: 留言板  |  
 
|  
 
 .: 链接  |  
  
 
 |