本文先介绍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 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'按钮
4.欢迎–点击 'Next' 按钮开始安装过程。
5.系统配置检查——安装应用程序需要查看服务器上的15个组件,并且判断成功和失败。
6.安装–一个进度条显示安装过程的状态.不需要动作.
7.注册信息 – 输入姓名和公司,继续 SQL Server的安装
8.安装组件 –选择'SQL Server 数据库服务'的检查框
点击右边的'高级'按钮,可更改安装目录和所需安装的组件,继续下一步
9特性选择 –验证所有的数据库服务选项都被选中了
如果有选项没有被选中,它显示为一个红色的叉,右击特性然后选择安装选项。
点击“next”按钮继续。
10.安装环境–如果可用的话,现有的环境将会列出应用程序、译本、版本,以及语言。
点击 'OK'按钮继续
11.实例名字 –默认的实例名称即为服务器的名字,例如MSSQLServer。命名的实例,如MySqlServer2005.
*** 注意 *** - 只可以创建一个默认的实例,但是可以创建多个有名字的实例
点击 'Next' 按钮继续
指定账号、认证模式和设置
12.服务账号–为数据库服务 Windows 服务指定账号.可以是一个内建的账号,例如本地系统或者网络服务。第二个选项是使用域的用户名和密码。
点击 'Next' 按钮继续
13.认证模式 –配置单独Windows默认的认证或者混合认证模式的认证,输入系统管理员的密码。
点击'Next'按钮继续
14.调整设置–为实例进行调整设置的配置。
点击 'Next'按钮继续(选择排序规则:Chinese_PRC_CS_AI_WS[
点击“安装”并检查你的总结日志
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项
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插入数据中文乱码
安装完成,打开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”(右键单击选择“启动”)
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”文件夹中
将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"; //密码
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目录下即可。