SqlServerExpress安装及C#和Java代码连接说明

前言:

此前接触过一段时间关于SqlServer的信息系统运维项目。

SqlServer最令人印象就是其 ManagementStudio 数据库管理查询界面。

最近有空,弄点事情来折腾一下。安装SqlServerExpress,这个版本你可以免费用于一些小项目。(只是一时手痒想弄一下,估计后面也派不上用场,感觉微软的技术 关注和使用的人也不少)

安装测试也费了一些功夫,网上这方面的资料也很多,只是很少涉及完整的代码连接,在此记录下来。

先说结果,这个测试环境下测试通过

WindowsServer2008R2x64 + SQLEXPR_x64_2008_CHS.exe + SQLManagementStudio_x86_CHS.exe

(文章末段有安装包链接)

SqlServer2008资源占用较低,但毕境是版本太旧。随后又在这个测试(虚拟)环境下 安装通过。

win10_x64 + sqlserver2017express + ssms 安装成功。

这个只需官网下载个 SQLServerXXX-SSEI-Expr 安装器,直接双击安装,等待结束后,再按提示下载SSMS安装。

(另外:2008Express 免费且没期限不需注册,近乎无条件免费,且资源占用率低,WinXP打上各种补丁后也可安装32b版,可作为单机db/web vm镜像;后面高版本的SqlExpress 使用期限过后需注册才能用,是有条件地免费,且需要安装 framework 4.6 或更高的版本 。 )

【安装进行】

1, Windows环境可以是 win7_64b 或 winServer2008x64,虚拟机环境也行。

2,安装 net framework 3.5 ( 高版本数据库 需要更高版 framework )

3,安装 SQLEXPR_x64_CHS.exe ,都用默认项。模式用 windows 模式,用户帐号是 当前帐号,所有角色权限 都用这个。

4,安装 SQLManagementStudio

5,打开 SQLServer 配置管理 器,

SqlServer 协议项,开启 TCP 和 Named 选项,

SqlServer 服务项,重启 Sql Server。( Aent 和 Browser 可以不启动 )

6,打开 SQLManagementStudio (SMSS,连接查询界面)

出现 数据库 连接对话框。

在 服务器名称 写入:(如果没有出现 服务名 的话)

"你机器名\SQLEXPRESS"

或 .\SQLEXPRESS 或 127.0.0.1\SQLEXPRESS

( 这个 SQLEXPRESS 就是安装 数据库时 默认的 实列名,在 安装时 可改。)

7,使用 Windows认证 方式,登入 Management Studio。

在这一步,必需使用 Management Studio 能成功登入 ,否则,你要检测前面什么地方有问题,必要时 用 gho 或 恢复 vmx 还原一个较纯净系统后 ,按上述步骤重新安装。

接下来,使用 编程代码 联接

Express 版本其中一个坑 就是,开放端口不是 1433。。。

后面会提到怎么 找到 Express 的开放端口。

【连接过程】

1,前面已经讲了,在 window 授权模式下 登入 Management Studio 。

(其实 我是 经历了很多麻烦问题后,才能登进去的,前面 的文字 只是 看起来 简单而以。。。)

现在 Management Studio 界面的 左边是一个 树型控件 。

2,展开 树型控件,找到 下面 的 "数据库节"点,右击,新建一个数据库 ,名为 mydb ( 或其它你期待的 )

新建一个 查询Sql 页面。键入如下 代码,并执行 ,为 新库 授权 连接用户和 操作权限 。(相关参数自行修改)


CREATE login mydb_account WITH password = '123456', default_database= mydb

USE mydb

CREATE USER mydb_user FOR login mydb_account WITH default_schema = dbo

USE mydb

EXEC sp_addrolemember 'db_owner', 'mydb_user'


3,右键点击:树型控件 第一个 节点 (就是那个写着类似 {pc_machine_name}\SQLEXPRESS 的节点 )

选"属性" ,再选"安全性",接着,在窗口右边区域,找到 登录模式,把登录模式设置为 混合模式。

4,关闭 Management Studio , 重新打开。

使用 Sql Server 用户模式 登录,用户名是 mydb_user ,密码就是 上面设置那个。

5,确保能用 mydb_user 连接进去。因为,用编程代码连接 使用的就是 这个 mydb_user 帐号。

6,重启 SQL Server。或者 重启一下 系统。

所有东西都好了,可以用代码进行连接了。

我一开始连接时,联不上,有错误提示。找了很方法。

最后 netstat -a 发现,系统根本没有开启 1433 端口 。。。

既然 SMSS 能连上,那它应该是有开端口的,它开了什么端口 ,怎么找 ?

回想起 Linux 下的 ps grep 操作,那么 win 下也应该有类似命令才对。

OK,找一下,,, 搜一下就找到。

还是 netstat ,打开 终端 控制台 ( cmd, console ) ,键入 这条 指令。

netstat -ano | findstr /i "2568"

这里的 2568 是 Sql Server 进程 ID,通过 "配置管理" -> "SQL 服务" -> 属性列表, 可以查看 数据库 进程ID 。

这时,我机器找到的端口是 49162 。

( 估计是 MS 以 SQLExpress 作为实例名,bind 一个端口,再新建一个实例 ,端口 就变成另一个 )

(后来补充:也可以在 Sql 管理器那里把TCP属性网卡端口 全部改为 1433 )

7,在用代码连接前,如有必要或遇到其它问题,最好还是关闭一下 windows 防火墙。

C#连接代码

java 复制代码
          //String constr = "server={机器IP},49826;database=myoa;User ID=mydb_user;Password=123456;";
            string constr = @"server={机器IP},49162\SQLEXPRESS;uid=mydb_user;pwd=123456;database=mydb_user";//复制
            SqlConnection con = new SqlConnection();
            con.ConnectionString = constr;
            con.Open();

Java连接

java 复制代码
	String url = "jdbc:sqlserver://IP:49162;DatabaseName=mydb_user";		
	String usr = "mydb_user";
	String pwd = "123456";
	String drv = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	Class.forName(drv);
	DriverManager.getConnection(url, usr, pwd);

-----------sqlserver 批量执行sql语句StoreProc 。执行成功返回生效行数,否则返回 -1 ---

USE [mydb]

GO

/****** Object: StoredProcedure [dbo].[exec_batch_sql] Script Date: 01/08/2025 10:07:48 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER procedure [dbo].[exec_batch_sql]

@sqls text,

@count int OUT

as

begin

begin tran

exec (@sqls)

if( @@trancount > 0 )

begin

set @count = @@ROWCOUNT

commit tran

end else

begin

rollback tran

set @count = -1

end

end


SqlServerExpress2008 and Management Studio donwload

sqlexpr2008_SMS.rar-WindowsServer文档类资源-CSDN下载

相关推荐
黑客老李8 小时前
BaseCTF scxml 详解
开发语言·网络·数据库·python·sql·安全
五行星辰9 小时前
SQL与数据库交互:Java的财富管理
数据库·sql·交互
大鳥10 小时前
深入了解 StarRocks 表类型:解锁高效数据分析的密码
数据库·starrocks·sql
Amd79413 小时前
深入剖析数据删除操作:DELETE 语句的使用与管理实践
sql·postgresql·性能优化·数据库管理·数据完整性·数据删除·delete 语句
背太阳的牧羊人15 小时前
使用 SQL 和表格数据进行问答和 RAG(4)— 使用 SQL 与 CSV 数据交互
sql·langchain·csv
zhangxueyi19 小时前
一次完成Win10下MySQL 9.1 的安装
网络·数据库·sql·mysql·oracle
码农君莫笑20 小时前
C#实现文件读写到SQLite数据库的方法
数据库·sql·microsoft·sqlite·c#
Gauss松鼠会20 小时前
GaussDB SQL调优之改写SQL消除子查询
数据库·sql·gaussdb
sunxunyong20 小时前
Hive sql执行文件合并配置参数
hive·hadoop·sql