SQL Server相关知识和经验的碎片化记录
2024-10-21 19:01:42
1、在向服务器发送请求时发生传输级错误
在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) ---> System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。
开始一直以为是网络连接的问题,最后发现是数据库连接字符串的问题。
之前的数据库连接字符串为:
"server= server
;database=database ;uid= uid ;pwd= pwd";
后来修改为:
"server= server
;database=database ;uid= uid ;pwd= pwd;pooling=false";
加了pooling=false 这个设置,就解决OK了!
问题是由于.net跟sql server进行连接得时候,某个连接池等资源已经用尽了,或者说是达到了最大得连接数,因此我们在出现错误的前面加上一句话:SqlConnection.ClearAllPools()
2、取表中的随机记录
SELECT TOP 1 * FROM [Table] WHERE nImageType=1 ORDER BY NEWID()
3、存储过程中游标的标准写法(遍历记录)
DECLARE CURSOR_ItemDetail CURSOR FOR SELECT sItemID FROM [dbo].[f_getXmlDetail]() WHERE [sTaskID]=@sTaskID
OPEN CURSOR_ItemDetail
FETCH NEXT FROM CURSOR_ItemDetail INTO @sItemID
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM CURSOR_ItemDetail INTO @sItemID
END
CLOSE CURSOR_ItemDetail
DEALLOCATE CURSOR_ItemDetail
4、字符串拆分函数(循环截取),并返回表变量
ALTER FUNCTION [dbo].[f_splitSTR](
@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)
RETURNS @re TABLE(col nvarchar(MAX))
AS
BEGIN
DECLARE @splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END
INSERT @re VALUES(@s)
RETURN
END
......
最新文章
- c++错误——intermediate.manifest : general error c1010070很傻的错
- Servlet中使用Log4j2
- tornado框架之路一
- UIGestureRecongnizer 手势检测 swift
- oracle中exp,imp的使用详解
- 使用StaticResource给控件定义公共的样式和属性来写界面XAML
- Python之路,Day16 - Django 进阶
- 2016_ThinkinG of everyDay
- sql语句,实践证明了某种情况下not in的效率高于not exists
- unity3d屏蔽Windows10输入法
- jquery点击非div区域隐藏div
- jQuery手风琴的制作!!
- python专题-Mysql数据库(python2._+ Mysqldb)
- div 中图片溢出问题及 CSS3中图片翻转问题
- CF341E Candies Game
- 浅谈C语言内存管理、内存泄露、堆栈
- samba速度调优
- Python配置工具类ConfigParser使用
- 【Linux】cat命令
- Idea下maven的配置和使用