SQL Server 2005的安装和JDBC连接方法

本文先介绍Windows XP SP2/SP3 下Microsoft SQL Server 2005 的安装及有关问题的解决方法,然后介绍Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5 进行JDBC连接SQL Server 2005数据库的方法。

一、SQL Server 版本(32位)
SQL Server 2005 Enterprise Edition 企业版不能用在Windows XP系统下(当然还是有些特别方法可以安装,不推荐),一般是运行不了。
SQL Server 2005 Standard Edition 标准版、SQL Server 2005 Evaluation Edition 评估版和 Workgroup Edition 工作组版、SQL Server 2005 Developer Edition 开发版和 Express Edition 都可以安装在Windows XP下。
建议安装SQL Server 2005 Developer Edition 开发版,其安装DVD文件大约1.74G,整合补丁包sp2的大约1.98G.

二、SQL Server 2005 安装过程详细图解
步骤:
1.主菜单——只要你载入DVD驱动器中的光盘,就会出现。
要安装SQL Server 2005的实例,在安装标题下选择“服务器组件、工具、在线书籍,以及示范”选项。
2.终端用户许可协议 – 检查终端用户的许可协议(EULA) ,看完后选择 ‘I accept the licensing terms and conditions’ 框。
接受协议后可激活“next”按钮,按下这个按钮继续。
3.安装的先决条件 – 决定好先决条件后点击 ‘Next’按钮。[http://www.colalife.com]
4.欢迎– 点击 ‘Next’ 按钮开始安装过程。
5.系统配置检查——安装应用程序需要查看服务器上的15个组件,并且判断成功和失败。
6.安装–一个进度条显示安装过程的状态. 不需要动作.
7.注册信息 – 输入姓名和公司,继续 SQL Server 的安装
点击“下一步”按钮继续
8.安装组件 – 选择’SQL Server 数据库服务’ 的检查框
点击右边的’高级’按钮,可更改安装目录和所需安装的组件,继续下一步
9特性选择 – 验证所有的数据库服务选项都被选中了
如果有选项没有被选中,它显示为一个红色的叉,右击特性然后选择安装选项。
点击“next”按钮继续。
10.安装环境– 如果可用的话,现有的环境将会列出应用程序、译本、版本,以及语言。
点击 ‘OK’按钮继续
11.实例名字 – 默认的实例名称即为服务器的名字,例如MSSQLServer。命名的实例,如MySqlServer2005.
*** 注意 *** - 只可以创建一个默认的实例,但是可以创建多个有名字的实例。[http://www.colalife.com]
点击 ‘Next’ 按钮继续

指定账号、认证模式和设置
12.服务账号– 为数据库服务 Windows 服务指定账号.可以是一个内建的账号,例如本地系统或者网络服务。第二个选项是使用域的用户名和密码。
点击 ‘Next’ 按钮继续
13.认证模式 – 配置单独Windows默认的认证或者混合认证模式的认证,输入系统管理员的密码。
点击’Next’按钮继续
14.调整设置– 为实例进行调整设置的配置。
点击 ‘Next’按钮继续(选择排序规则:Chinese_PRC_CS_AI_WS[http://www.colalife.com])

点击“安装”并检查你的总结日志
15.准备安装– 检查安装的项目。点击“安装”按钮继续
16.安装进度 – 检查过程中每个步骤的状态。安装结束后,点击’Next’ 按钮继续
17.完成SQL Server 2005 的安装 – 检查总结日志并点击 ‘finish’ 按钮结束安装过程。 

三、出现问题

问题1. 无法在com+目录中安装和配置程序集
这是在安装后期时有可能出现的:
 无法在com+目录中安装和配置程序集
 错误说明: 事务管理器可用。
解决方法:
这时候不要点击中止、忽略,也不要点击取消

按以下步骤
    1.删除注册表中的:
       a. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC项
       b. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC项
       c. HKEY_CLASSES_ROOT\CID项[http://www.colalife.com]
    2.使用cmd执行-停止MSDTC服务:net stop msdtc(在命令行输入,然后回车即可,步骤3.4.同样)
    3.使用cmd执行-卸载MSDTC服务:msdtc -uninstall
    4.使用cmd执行-重新安装MSDTC服务:msdtc -install

最后点击重试,继续安装。

(问题2和3基本不会出现,没出错可以略去~~)

问题2. 安装成功后没有SQL Server Management Studio选项(版本冲突,基本不会出现)
    1.电脑里先前装了sql2000和Visual Studio 2005,解决方法是 "先删除Visual Studio 2005 Bata1版的Framework,运行Visual Studio 2005 Bata1版安装盘上的dotnetfx.exe进行删除,然后再安装SQL Server 2005 Bata2版"。
解决方法:
    2.先把SQL2005删除,把先前的Native Client删除
    3.分步安装Tools包和Servers包,安装路径可以全部改掉
          3.1.先安装Tools包,在安装Tools包是遇到了第3个问题:性能监视器计数器要求(错误)(下面有介绍。)
          3.2.安装Servers包,也是除了文档演示全部安装。

问题3. 如何在 SQL Server 2005 中为安装程序增加计数器注册表项值(转载)
解决方法:
在 SQL Server 安装开始前,Microsoft SQL Server 安装程序中的安装配置检查器 (SCC) 会验证计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或 SCC 无法运行 lodctr.exe 系统程序,则 SCC 检查会失败,致使安装受阻。错误编辑注册表会严重损坏您的系统。更改注册表项之前,建议您备份计算机中的所有重要数据。
在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器。定位到以下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
上一步的“Last Counter”值 (5276) 必须与以下注册表项中“Perflib\009”的“Counter”项的最大值匹配,并且上一步的“Last Help”值 (5277) 必须与以下注册表项中“Perflib\009”的“Help”项的最大值匹配。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
注意 009 是英文中的一个示例。
“Last Counter”和“Last Help”值是由 Windows 动态分配的;这两个值会因计算机的不同而不同。
如有必要,可修改“\Perflib”项中的“Last Counter”和“Last Help”值的值:在右侧窗格中,右键单击“Last Counter”或“Last Help”,单击“修改”,再单击“Base = "Decimal"”,在“值数据”中设置值,再单击“确定”。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。再次运行 SQL Server 安装程序。
          注意:上面所描述的009是存储英文版的mssql2005的计数器,而中文版的则是004!

四、SQL Server 2005 插入数据中文乱码[http://www.colalife.com]

安装完成,打开SQL Server Management Studio,登入系统,新建数据库,新建数据库表,插入数据的时候,出现了中文乱码-全部是问号。

原因分析:

SQL版的乱码问题还是出现在SQL SERVER的安装设置上,默认安装时系统默认的排序规则是拉丁文的排序规则,没有选择其他项目,安装时只是点取下一步,安装完成后,造成了插入了数据的过程中出现乱码。

解决方法:
1.最彻底的就是重装SQL,在安装时自定义安装,选好语言版本及排序规则(选择排序规则:Chinese_PRC_CS_AI_WS),这样问题就解决了。

2.不重新安装也是可以的,只要在新建数据库时指定排序规则(强烈建议),选择中文简体。
步骤:
    1、启动Microsft SQL Server Management Studio,登录到一个实例服务器。

    2、新建数据库,在左侧打开的窗口中单击“选项”。

    3、把“排序规则”改为  "Chinese_PRC_CI_AI” 单击“确定”就行了,然后再从Visual Studio 2005的数据库管理里,进行相关的建表,插入数据等操作 。

    4、也可以在表中修改,Sql语句如同:
       ALTER TABLE tablename
       ALTER COLUMN column1 nvarchar(100) COLLATE CHINESE_PRC_CI_AI

五、 JDBC连接SQL Server 2005数据库

1. 关闭防火墙。

2. 配置TCP端口:
    a. 开始->所有程序->Microsoft SQL Server 2005->配置工具->SQL Server配置管理器->SQL Server 2005 网络配置->MSSQLSERVER协议
    b. 启用“TCP/IP”(右键单击选择“启动”)[http://www.colalife.com]
    c. 双击“TCP/IP”->“IP 地址”->“IPAll”->“TCP 端口”项添加默认的“1433”端口

3. 外围应用配置:Microsoft SQL Server 2005->配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->
     ①选SQLEXPRESS->Database Engine->远程连接->本地连接和远程连接->同时使用TCP/IP和named pipes
     ②选SQL Server Browser->服务->启动类型改为“自动”->应用->启动->确定

4. 修改默认的登录验证模式(如果在安装过程中是默认按“Windows 身份验证模式”方式安装,所以sa登录是被禁用的,即使将身份验证模式更改为“SQL Server 和 Windows 身份验证模式”,sa登录仍处于禁用状态,所以需要启用sa登录帐户):
    ①在SQL Server Management Studio 的对象资源管理器中,安全性->登录名->右击“sa”->属性->

常规->将登录名sa的密码和确认密码设为强密码->状态->登录->启用->确定
    ②在SQL Server Management Studio 的对象资源管理器中,右击服务器->属性->安全性->服务器身份验证->选择“SQL Server和Windows身份验证模式”->确定->确定

5. 在SQL Server Management Studio中新建一个数据库(例如“mytest”,如果测试程序带有数据库文件也可不用新建而直接附加到当前SQL Server数据库服务器);在SQL Server Management Studio 的对象资源管理器中右击服务器->重新启动->是

6. 运行下载的JDBC文件“sqljdbc_1.2.2828.100_chs.exe”,解压到“C:\Program Files”文件夹中;[http://www.colalife.com]

将Classpath设置为包含sqljdbc.jar文件(也可加到系统环境变量中),建议从解压文件夹下找到sqljdbc.jar,将其复制到自己常用的Jar文件夹里,用的时候方便找到。

7. 在Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5 进行JDBC连接设置并测试
    1、打开Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5,新建Java Project”,项目名为Test
    2、选择“Window”→“Preferences”→“Java”→“Installed JREs”,选定已安装的 JRE,点击“Edit…”→“Add External JARs”,找到sqljdbc.jar并添加—>OK
    3、"Window"->"Open Perspective"->"MyEclipse Database Explorer"->(左侧)"DB Browser"右键“New”->填写链接属性Driver name,URL为:jdbc:sqlserver:// localhost:1433;databaseName=mytest,User name:sa,Password:密码。然后在Driver JARs 点Add JARs 添加sqljdbc.jar,点及Test

Driver测试,勾上Save Password保存密码,点击完成结束——即完成了在DB Browser中连接数据库配置。

8、编写Java代码测试,如下:

package jdbc.test;
import java.sql.*;

public class Test {
 public static void main(String[] srg) {
  String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  // 加载JDBC驱动
  String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=mytest";
  // 连接服务器和数据库mytest
  String userName = "sa"; // 默认用户名
  String userPwd = "123456"; // 密码[http://www.colalife.com]
  Connection dbConn = null;
  Statement stmt = null;

  try {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
   stmt = dbConn.createStatement();
   System.out.println("Connect Succeed!");
   // 连接成功控制台输出语句

   ResultSet rs = stmt.executeQuery("select * from mytest");
   while (rs.next()) {
    System.out.print(rs.getInt(1) + " " + rs.getString(2) + " "
      + rs.getString(3) + "\n");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

9. Sql Server2000和2005的连接代码区别:(注意2000和2005的不同)
    1. 连接SqlServer2000
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb";
    2. 连接SqlServer2005
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
      URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
10、可能出现的exception: com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
     WARNING: Failed to load the sqljdbc_auth.dll
解决办法:在sqljdbc_1.2.2828.100_chs.exe解压后的文件夹中找到Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\chs\auth\x86下的sqljdbc_auth.dll拷贝到:C:WINDOWSsystem32 目录下即可。

(全文完——By ColaLife[http://www.colalife.com]