做实验需要用Java与SQL Server连接,因为使用的 SQL 2008 Express Edition 是基于 Visual Studio2010 安装包安装时一起安装的,所以为了方便数据库的操作,首先下载了独立的 SQL Server Management Studio 安装包进行安装 。安装完毕后设置 SQL 癿登陆模式,因为 VS2010 自带的 SQL Server 默认把 sa 账户禁用,这就意味着通过网络 TCP/IP 连接方式就不可用,所以要先把 sa 账户启用以方便以后的操作。
- step 1: 打开SSMS(SQL Server Management Studio),用windows身份连接数据库,登录后,右键选择“属性(properties)”。
- step 2: 左侧选择“安全性(Security)”,选中右侧的“SQL Server 和 Windows 身份验证模式(SQL server and windows Authentication mode)”以启用混合登录模式。
- step 3: 选择“连接(Connections)”,勾选“允许远程连接此服务器(Akkiw remote connections to this server)”,然后点“确定”。
- step 4: 展开对象资料管理器(当前的连接)中的“安全性(Security)”->“登录名(Logins)”->“sa”,右键选择“属性”。
- step 5: 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码。
- step 6: 选择“状态(Status)”,在"Login:处"选中“启用(Enabled)”,点击“确定”。
- step 7: 右击数据库选择“方面(Facets)”。
- step 8: 将“RemoteAccessEnabled”属性设为“True”,点“确定”(说明:这一项可能找不到,可以不用管他。)
- step 9: 至此SSMS已设置完毕,先退出,重新启动数据库,再用sa登录,成功即表示sa帐户已经启用。
以前用自己的方法成功开启过sa账号,但这次不知什么原因无法成功开启,于是,重新“新建登录名”,建了一个新的账号,其拥有的权限与sa账号一样即可使用。
这时sa账号已经可以使用,还需要配置SSCM(SQL Server配置管理器)才能正常工作。
首先确保下面的服务都开启:
配置 TCP/IP 的属性"协议",具体操作看下图:
填定下面的信息:
如图所示填写好IP地址,拉到页面最下面,填写端口。
接着配置客户端协议:
接着配置TCP/IP:
重新启动数据库后就可以使用sa账号进行远程登录操作了。
可以用下面的代码测试一下能否正确连接上数据库:
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=Lib"; // 连接服务器和数据库
String userName = "sa"; // 默认用户名
String userPwd = "123456"; // 安装 sql server 2008 时的密码
@SuppressWarnings("unused")
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
} catch (Exception e) {
e.printStackTrace();
}
}
}