文档库 最新最全的文档下载
当前位置:文档库 › SQL Server 跨服务器连接的多种方法

SQL Server 跨服务器连接的多种方法

SQL Server 跨服务器连接的多种方法
SQL Server 跨服务器连接的多种方法

SQL Server 跨服务器连接的多种方法

本文对SQL Server跨服务器连接的方式进行总结。

1、OPENDATASOURCE

在SQL文中直接用此语句打开数据库示例:

此方式较为简单,但存在弊端就是速度很慢。

2、OPENROWSET

包括从OLE DB 资料来源存取远端资料需要的所有连线资讯。这个方法是在连结伺服器存取资料表的替代方法,而且是使用OLE DB 连线与存取远端资料的一次、特定的方法。OPENROWSET 函数可以在查询的FROM 子句中当作资料表名称来参考。根据OLE D B Provider 的能力,OPENROWSET 函数也可以当作Insert、Update 或Delete 陈述式的目标资料表来参考。虽然查询可能会传回多个结果集,OPENROWSET 只传回第一个结果集。语法:

参数:

'provider_name':代表登录中指定的OLE DB Provider 的亲和名称之字元字串。

'provider_name' 没有预设值。

'datasource':是对应到特殊OLE DB 资料来源的字串常数。

'datasource' 是要传送到提供者IDBProperties 介面以初始化提供者的DBPROP_IN IT_DATASOURCE 属性。一般而言,此字串包括资料库档案名称、资料库伺服器名称或提供者了解并用以寻找资料库的名称。

'user_id':是要传送到指定的OLE DB Provider 的使用者名称字串常数。user_id 指定连线的安全性内容且以DBPROP_AUTH_USERID 属性传送以初始化提供者。

'password':是要传送到OLE DB Provider 的使用者密码字串常数。初始化提供者时,password 以DBPROP_AUTH_PASSWORD 属性传送。

'provider_string':是以DBPROP_INIT_PROVIDERSTRING 属性传送以初始化OLE DB Provider 的特定提供者连线字串。provider_string 一般会包含所有初始化提供者时需要的所有连线资讯。

catalog:是有指定物件的资料库目录或资料库名称。

schema:是指定物件的结构描述或物件拥有者名称。

object:唯一指定要操作的物件之物件名称。

'query':传送到提供者并由提供者执行的字串常数。MicrosoftR SQL Server? 不处理此查询,但处理由提供者传回的查询结果(传递查询)。传递查询用在不经由资料表名称而只经由命令语言显露其表格资料的提供者时,非常有用。只要查询提供者支援OLE DB C ommand 物件及其强制介面,远端伺服器就支援传递查询。如需详细资讯,请参阅SQL Server OLE DB Programmer's Reference。

备注:

如果OLE DB Provider 支援指定的资料来源中的多个目录与结构描述,就需要资料库目录与结构描述名称。如果OLE DB Provider 不支援,可以省略catalog 与schema 的值。

如果提供者只支援结构描述名称,必须指定schema.object 格式之两个部份的名称。如果提供者只支援资料库目录名称,必须指定catalog.schema.object 格式之三个部份的名称。

OPENROWSET 不接受变数作为其引数。

权限:

OPENROWSET 权限由传送到OLE DB Provider 的使用者名称的权限来决定。

范例:

A. 使用有Select 的OPENROWSET 与Microsoft OLE DB Provider for SQL Ser ver

以下范例使用Microsoft OLE DB Provider for SQL Server,以存取命名为seattle1 的远端伺服器上pubs 资料库的authors 资料表。从datasource、user_id 与password 初始化提供者,且使用Select 来定义传回的资料列集。

格式:

说明:查询所提供的驱动程序(SQLOLEDB是查询SQL Server),查询SQL服务器S erverName下的Databasename中的数据TableName表中的数据(SQL语句),其实用户权限是LoginUser。

例子:

B. 使用有物件的OPENROWSET 与OLE DB Provider for ODBC。

以下范例使用OLE DB Provider for ODBC 与SQL Server ODBC 驱动程式,来存取命名为seattle1 的远端伺服器上pubs 资料库的authors 资料表。以ODBC 提供者使用的ODBC 语法指定之provider_string 来初始化提供者,并使用catalog.schema.objec t 语法来定义传回的资料列集。

格式:这连接方式是ODBC数据的驱动程序:

C. 使用Microsoft OLE DB Provider for Jet。

以下范例藉由Microsoft OLE DB Provider for Jet 存取Microsoft Access Northwin d 资料库中的orders 资料表。

a、以下范例假设已经安装Access。

b、以Excel为例,必须安装了Excel。

DATABASE=G:WorkEveryDayDayDoOrderList'是Excel的表名及路径,OrderList$是工作区的名字MICROSOFT.JET.OLEDB.4.0是Excel的驱动程序,也可以用MICROSOF T.JET.OLEDB.5.0,MICROSOFT.JET.OLEDB.8.0,测试所用的window 2003及SQL Serv er 2000其中OrderList$所面的$不能少,要不能报错,$是代表是工作区3.以VFP(DBF文件名)。

说明:SourceType是数据源类型,SourceDB是数据源,后面是操作DBF的SQL查询语句。

D. 使用OPENROWSET 与INNER JOIN 中的其他资料表。

以下范例选取储存在相同电脑上SQL Server Northwind 资料库的customers 资料表的所有资料,以及Access Northwind 资料库的orders 资料表的所有资料。

附注以下范例假设已经安装Access。

E.将存储过程的记录集插入到虚拟表中(执行的存储不策有全局虚拟表)。

如:

如下:就会报错,必须先建表create table #t,而且此虚拟表的参数一定要与存储过程的参数一样。

Insert into #t

exec [Order].dbo.Or_Select_BackListDetail 'BK0607190001'

F:将打开的相应的文件(dbf,exec等等),从SQL里插入数据进行。

注:

1、两数字段结构一样(长度、类型)

2、保证导出表没有为null或空的字段

3、将你上面的语句改为下面的select * from tmp.DBF,就是不要那个[] 3、建立链接服务器

解决服务器连接数量的限制

在工作中,经常需要远程连接到服务器上,然而在公司里,老总、同事都需要连接到服务器上的,而默认的Win2003操作系统最大连接数是2,这样一来,问题也就来了,常常遇到“终端服务器超出最大连接数”,导致无法正常登陆服务器。下面讲解在网上流传的几种方法,来解决这一问题。 解决方法一:用“注销”方式退出远程桌面,而不是直接关闭窗口; 解决方法二:踢出已经断开的连接用户; 1、首先通过各种方法连接到服务器上(telnet) 2、上去后,查看登陆用户列表。输入命令:query user 这样你就可以看出有何不同来啦,可以根据你的具体情况而定的。ID为0的用户就是本地登陆的,而在State中看提示,当提示为已断开,则说明用户已经断开还占用着系统资源和通道,这样就可以把该用户踢掉。输入logoff ID,即踢除相应ID的用户。 解决方法三:限制已断开连接的会话存在时间;(推荐) 一般情况下,我们在维护远程服务器时,不可能长时间在线,但是系统默认的却是只要登录就不再断开。因此,我们可以修改这一默认设置,给它指定一个自动断开的时间即可。 可以在Windows 2003 服务器上通过组策略中设置一下来解决问题:单击“开始→运行”,输入“gpedit.msc”,回车后打开组策略窗口,然后依次定位到“计算机配置→管理模板→Windows 组件→终端服务→会话”,然后在右侧窗口中双击“为断开的会话设置时间限制”,在打开的窗口中将“结束断开连接的会话”时间设置为5分钟,或者设置为空闲就断开。或在远程服务器上打开“运行”窗口,输入“tscc.msc”连接设置窗口。然后双击“连接”项右侧的“RDP-Tcp”,切换到“会话”标签,选中“替代用户设置”选项,再给“结束已断开的会话”设置一个合适的时间即可。 解决方法四:增加连接数量,即设置最大连接数再多些

在Sql Server存储过程中使用Cursor(游标)操作记录

1.为何使用游标: 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。 2.如何使用游标: 一般地,使用游标都遵循下列的常规步骤: (1) 声明游标。把游标与T-SQL语句的结果集联系起来。 (2)打开游标。 (3)使用游标操作数据。 (4)关闭游标。 2.1.声明游标 DECLARE CURSOR语句SQL-92标准语法格式: DECLARE游标名[ INSENSITIVE ] [ SCROLL ] CURSOR FOR sql-statement Eg: Declare MycrsrVar Cursor FOR Select * FROM tbMyData 2.2打开游标 OPEN MycrsrVar 当游标被打开时,行指针将指向该游标集第1行之前,如果要读取游标集中的第1行数据,必须移动行指针使其指向第1行。就本例而言,可以使用下列操作读取第1行数据: FETCH FIRST from E1cursor 或FETCH NEXT from E1cursor 2.3 使用游标操作数据 下面的示例用@@FETCH_STATUS控制在一个WHILE循环中的游标活动 DECLARE E1cursor cursor FOR SELECT * FROM c_example OPEN E1cursor FETCH NEXT from E1cursor WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT from E1cursor END CLOSE E1cursor DEALLOCATE E1cursor 2.4 关闭游标 使用CLOSE语句关闭游标 CLOSE { { [ GLOBAL ]游标名} |游标变量名} 使用DEALLOCATE语句删除游标,其语法格式如下: DEALLOCATE { { [ GLOBAL ]游标名} | @游标变量名

_解决终端连接数超限

解决远程桌面连接时,提示:终端服务器超出了最大允许连接数" 2010-12-17 15:55:40| 分类:服务器| 标签:windows |字号大中小订阅 使用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器,引起该问题的原因在于终端服务的缺省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端,这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。 解决方式: 一、用注销来退出远程桌面而不是直接关闭窗口 二、限制已断开链接的会话存在时间 三、增加最多链接数,即设置可连接的数量多些 一、用注销来退出远程桌面 这里只能要求操作员加强安全意识,强制要求他们不能直接关闭窗口。 二、限制断开会话存在时间 一般情况下,我们在维护远程服务器时,不可能长时间在线,但是系统默认的却是只要登录就不再断开。因此,我们可以修改这一默认设置,给他 指定一个自动断开的时间即可。 在远程服务器上打开“运行”窗口,输入“tscc.msc”连接设置窗口或直接在“管理工具”中选择“终端服务配置”程序。然后双击“连接”项右侧的“RDP-Tcp”,切换到“会话”标签,选中“替代用户设置”选项,再给“结束已断开的会话”设置一个合适的时间即可。 三、增加连接数量 默认情况下允许远程终端连接的数量是2个用户,这也太少了一些,我们可以根据需要适当增加远程连接同时在线的用户。 打开“运行”窗口,输入“gpedit.msc”打开组策略编辑器窗口,依次选择“计算机配置”-“管理模板”-“Windows组件”-“终端服务”,再双击右侧的“限制连接

SQLSERVER操作命令

SQLSERVER数据库操作 ******操作前,请确定SQL的服务已经开启******** 一:登录进入sql数据库 1、开始---所有程序---Microsoft SQL Server 2005---SQL Server Management Studio Express 2、此时出现“连接到服务器”的对话框, “服务器名称”设置为SQL数据库所在机器的IP地址 “身份验证”设置为SQL Server身份验证或者Windows 身份验证 填写登录名和密码后,点击“连接”按钮,即可进入到SQL数据库操作界面。 二:新建数据库 登录进去后,右击“数据库”,选择—“新建数据库” 设置数据库名称,在下面的选项卡中还可以设置数据库的初始大小,自动增长,路径。 点击确定,一个数据库就建好了。 三:如何备份的数据库文件。 登录进入后,右击相应的需要备份数据库----选择“任务” 目标下的备份到,点击“添加”按钮可以设置备份数据库保存的路径。 四:如何还原备份的数据库文件。(以本地机器为例子) 1、设置服务器名称,点击右边的下拉框的三角,选择“浏览更多…”。 此时出现查找服务器对话框,选择“本地服务器”---点开“数据库引擎”前面 的三角---选中出现的服务器名称—确定。 (注:可以在“网络服务器”选项卡中设置网络服务器) 2、设置身份验证,选择为“windows身份验证” 3、点击连接按钮,进入数据库管理页面 4、右击“数据库”,选择“还原数据库”,出现还原数据库的对话框 还原的目标----目标数据库,这里设置数据库的名字 还原的源----选择“源设备”,在弹出的对话框中点击“添加”按钮,找到所备 份的数据库文件,确定。 5、此时,在还原数据库对话框中会出现所还原的数据库的信息。在前面选中所需还 原的数据库。确定。 6、为刚刚还原的数据库设置相应的用户。 a点开“安全性”---右击“登录名”---新建登录名 b 设置登录名(假如为admin),并设置为SQL Server身份验证,输入密码,去除 “强制实施密码策略”前的勾。 C 找到导入的数据库,右击此数据库----选择“属性”,在选择页中,点击“文件” 设置所有者,点击右边的按钮,选择“浏览”,找到相应的用户(如admin)。确 定。。 7、此时重新以admin的身份进入,就可操作相应的数据库。

Windows 2003 远程桌面连接数超过最大连接数终极解决方案

https://www.wendangku.net/doc/3512122611.html,/share/detail/19920159 我相信,Windows 2003 远程桌面连接数超过最大连接数折磨着众多兄弟,本人不才,经过多方努力,终于找到解决方案,以此献给曾经和我一样备受折磨的兄弟。如果实验后有效,就帮忙顶一下!谢谢! 一. 修改terminal services configuration(对于administrator不起作用,建议直接用方法二) Start->control pannel->administrative tools->terminal services configuration 左边选择connections后双击右边的RDP-Tcp,打开属性设置对话框 选择sessions标签,选中第一个override user settings,修改end a disconnected session的时间,例如30分钟,这样,当断开连接后30分钟内没有再次连接的话,系统就会自动结束这个session。 选择network adapter,修改maximum connections,缺省是2,改成你想要的数字,不过也不宜过大,否则占用系统资源也比较大。不过好像这个修改对于administrator似乎不起作用,改完了再打开,设置又变回2了 二.修改group policy 这个级别要高于terminal services configuration,在这个里面修改后,上面terminal

services configuration那几个修改的内容就会变灰,无法修改了。 Start->run->gpedit.msc 左面computer configration->Administrative templates->windows components->terminal services 右面双击limit number of connections打开设置对话框,选择Enabled,在TS maximum connections allowed中添入最大连接数目 三、(可选)建议修改set time limit for disconnected sessions(为断开的会话设置时间限制)以提高使用效率! 左面terminal services->sessions 右面双击set time limit for disconnected sessions,选择Enabled,在End a disconnected session中选择时间 OK,搞定 注:退出远程桌面时最好用注销而不是断开。虽然设置了最大连接数,但是经过测试,最多只为三个(包括本机,为什么?百思不得其解!)要想同时使用三个远程控制台,先要本机登录,然后用远程切换到本机控制台。这时,就可以再连接两个远程了。加上刚才切换到本机控制台的,一共有三个!

游标卡尺的正确读数方法

游标卡尺是一种常用的量具,具有结构简单、使用方便、精度中等和测量的尺寸范围大等特点,可以用它来测量零件的外径、内径、长度、宽度、厚度、深度和孔距等,应用范围很广。 结构组成 游标卡尺由主尺和副尺(又称游标)组成。主尺与固定卡脚制成一体;副尺与活动卡脚制成一体,并能在主尺上滑动。游标卡尺有、、0.1mm三种测量精度。 读数方法 游标卡尺是利用主尺刻度间距与副尺刻度间距读数的。以13-2图0.02mm游标卡尺为例,主尺的刻度间距为1mm,当两卡脚合并时,主尺上49mm刚好等于副尺上50格,副尺每格长为=0.98mm。主尺与副尺的刻度间相关为1-0398=0.02mm,因此它的测量精度为0.02mm(副尺上直接用数字刻出) 游标卡尺读数分为三个步骤,下面以图13-3所示游标卡尺的某一状态为例进行说明。 1.在主尺上读出副尺零线以左的刻度,该值就是最后读数的整数部分。图示 33mm。 2.副尺上一定有一条与主尺的刻线对齐,在刻尺上读出该刻线距副尺的格 数,将其与刻度间距0.02mm相乘,就得到最后读数的小数部分。图示为 0.24mm。

3.将所得到的整数和小数部分相加,就得到总尺寸为33.24mm。 游标卡尺的使用方法 量具使用得是否合理,不但影响量具本身的精度,且直接影响零件尺寸的测量精度,甚至发生质量事故,对国家造成不必要的损失。所以,我们必须重视量具的正确使用,对测量技术精益求精,务使获得正确的测量结果,确保产品质量。 使用游标卡尺测量零件尺寸时,必须注意下列几点: 1.测量前应把卡尺揩干净,检查卡尺的两个测量面和测量刃口是否平直无 损,把两个量爪紧密贴合时,应无明显的间隙,同时游标和主尺的零位刻线要相互对准。这个过程称为校对游标卡尺的零位。 2.移动尺框时,活动要自如,不应有过松或过紧,更不能有晃动现象。用固 定螺钉固定尺框时,卡尺的读数不应有所改变。在移动尺框时,不要忘记松开固定螺钉,亦不宜过松以免掉了。 3.当测量零件的外尺寸时:卡尺两测量面的联线应垂直于被测量表面,不能 歪斜。测量时,可以轻轻摇动卡尺,放正垂直位置,图2-6所示。否则,量爪若在如图2-6所示的错误位置上,将使测量结果a比实际尺寸b要大; 先把卡尺的活动量爪张开,使量爪能自由地卡进工件,把零件贴靠在固定 量爪上,然后移动尺框,用轻微的压力使活动量爪接触零件。如卡尺带有微动装置,此时可拧紧微动装置上的固定螺钉,再转动调节螺母,使量爪接触零件并读取尺寸。决不可把卡尺的两个量爪调节到接近甚至小于所测尺寸,把卡尺强制的卡到零件上去。这样做会使量爪变形,或使测量面过早磨损,使卡尺失去应有的精度。

SQLServer数据库的高级操作

(1)批处理 (2) (2)变量 (3) (3)逻辑控制 (5) (4)函数 (7) (4.1)系统函数 (7) (4.2)自定义函数 (13) (5)高级查询 (23) (6)存储过程 (35) (7)游标 (36) (8)触发器 (50) SQL Server 数据库的高级操作 (1) 批处理 (2) 变量 (3) 逻辑控制 (4) 函数 (5) 高级查询 */ (1)批处理 将多条SQL语句作为一个整体去编译,生成一个执行计划,然后,执行! 理解批处理的关键在于"编译",对于由多条语句组成的一个批处理, 如果在编译时,其中,有一条出现语法错误,将会导致编译失败! create table t ( a int,

)

-- 如果多行注释中包含了批处理的标识符go -- 在编译的过程中代码将会被go分割成多个部分来分批编译-- 多行注释的标记将会被分隔而导致编译出错 -- 以下几条语句是三个非常经典的批处理 -- 你猜一下会添加几条记录! /* insert into t values (1,1) go */ insert into t values (2,2) go /* insert into t values (3,3) */ go -- 查询看添加了几条记录 select * from t

truncate table t (2)变量 -- 全局变量 SQL Server中全局变量由系统定义、系统维护,用户一般仅可对其进行读取!-- 查看SQL Server版本 print @@version -- 服务器名称 print @@servername -- 系统错误编号 insert into t values ('a','a') print @@error insert into t values ('a','a') if @@error = 245 print 'Error' -- SQL Server 版本的语言信息 print @@LANGUAGE -- 一周的第一天从星期几算起 print @@datefirst

3389终端服务器超出了最大允许连接数的解决办法

1、找到一台能连上网络的windows2003的机器 2、开始–运行–输入“tsmmc.msc”,跳出一个远程桌面控制台 3、右键点击左边的“远程桌面”,选择“新建远程桌面”,按照要求填写要连接的虚拟主机的ip、用户名、密码、域名,然后点击“确定” 4、点击新建好的远程桌面,就可以登陆到远程虚拟主机了 扫尾工作: 1、登陆到远程虚拟主机后,打开“任务管理器”,选择“用户”,踢掉那2个留在系统中的用户 2、开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话,右边窗口选择“为断开的会话设置时间限制”-选择已启用,设置一个时间 w in2K/win2003终端服务器超出最大允许连接数的问题 今天管理一台服务器,远程连接时帐号密码都输入完后,点连接后弹出一个“终端服务器超出最大允许连接”。上网查了一下归结一下出现这 种情况的原因和解决办法。 原因:用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器,引起 该问题的原因在于终端服务的缺省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么 实际上会话并没有释放掉,而是继续保留在服务器端,这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。 如何避免? 一、用注销来退出远程桌面而不是直接关闭窗口 二、限制已断开链接的会话存在时间 1、从终端服务配置中修改 运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性-会话-选中第一个的替代用户设置(O)-结束已断开的会话[将默认值“ 从不”改为一个适当的时间,比如30分钟] 2、从组策略修改 开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话

游标卡尺的正确使用方法

机械式游标卡尺的使用方法 制作人:江老师 1、机械游标卡尺的简介 游标卡尺是精密的长度测量仪器,常见的机械游标卡尺如下图所示。它的量程为0~110mm,分 度值为0.1mm,由内测量爪、外测量爪、紧固螺钉、微调装置、主尺、游标尺、深度尺组成。 0~200mm以下规格的卡尺具有测量外径、内径、深度三种功能:

2、游标卡尺的零位校准: 步骤一:使用前,松开尺框上坚固螺钉,将尺框平稳拉开,用布将测量面、导向面擦干净; 步骤二:检查“零”位:轻推尺框,使卡尺两个量爪测量面合并,观察游标“零”刻线与尺身“零” 刻线应对齐,游标尾刻线与尺身相应刻线应对齐。否则,应送计量室或有关部门调整。 3、游标卡尺的测量方法:(外径) 步骤一:将被测物擦干净,使用时轻拿轻放; 步骤二:松开千分尺的固紧镙钉,校准零位,向后移动外测量爪,使两个外测量爪之间距离略

大于被测物体; 步骤三:一只手拿住游标卡尺的尺架,将待测物置于两个外测量爪之间,另一手向前推动活动外 测量尺,至活动外测量尺与被测物接触为止。 步骤四:读数。 注意:1)测量内孔尺寸时,量爪应在孔的直径方向上测量。 2)测量深度尺寸时,应使深度尺杆与被测工件底面相垂直。 4、游标卡尺的读数: 游标卡尺的读数主要分为三步: 1)看清楚游标卡尺的分度。10分度的精度是0.1mm,20分度的精度是0.05mm,50分度的精度 是0.02mm; 2)为了避免出错,要用毫米而不是厘米做单位; 3)看游标卡尺的零刻度线与主尺的哪条刻度线对准,或比它稍微偏右一点,以此读出毫米的整 数值; 4)再看与主尺刻度线重合的那条游标刻度线的数值n,则小数部分是nX精度,两者相加就是测量值; 深度测量 深度测量深度测量 深度测量 3 / 3 机械式游标卡尺的使用方法 机械式游标卡尺的使用方法机械式游标卡尺的使用方法 机械式游标卡尺的使用方法 5)游标卡尺不需要估读。

SQLServer实验三分解

实验七 (1)创建并运行存储过程student_grade,要求实现如下功能:查询studb数据库中每个学生各门课的成绩,其中包括每个学生的sno、sname、cname和score。 create procedure student_grade as select student.sno,student.sname,https://www.wendangku.net/doc/3512122611.html,ame,student_course.score from student join student_course on student.sno=student_course.sno join course on https://www.wendangku.net/doc/3512122611.html,o=student_https://www.wendangku.net/doc/3512122611.html,o 运行结果代码: use Studb go execute student_grade go (2)创建并运行名为proc_exp的存储过程,要求实现如下功能:从student_course表中查询某一学生考试的平均成绩。 create procedure proc_exp @sname varchar(8) as begin select sname,AVG(score) from student join student_course on student.sno=student_course.sno where sname=@sname group by sname end 运行结果代码:

use Studb go execute proc_exp@sname='刘招香' go (3)修改存储过程proc_exp,要求实现如下功能:输入学生学号,根据该学生所选课程的平均成绩给出提示信息,即如果平均成绩在60分以上,显示“成绩合格,成绩为XX分”,否则显示“成绩不合格,成绩为XX分”;然后调用存储过程proc_exp,输入学号0705010131,显示成绩是否合格。 alter procedure proc_exp @student_sno varchar (20) as declare@avg varchar(20) set@avg=(select AVG(score) from student_course where sno=@student_sno) if@avg>=60 print'成绩合格,成绩为'+@avg+'分' else print'成绩不合格,成绩为'+@avg+'分' 运行结果代码: use Studb go declare@student_sno varchar (20) select@student_sno='0705010131' exec proc_exp@student_sno (4)创建名为proc_add的存储过程,要求实现以下功能:向student_course表中添加学生记录;然后调用存储过程proc_add,向student_course表中添加学生成绩记录。create procedure proc_add @sno char(10), @cno char(10), @score tinyint

游标卡尺及万能角度尺的使用说明(有图示)

游标卡尺及万能角度尺的使用说明(有图示)

一、游标卡尺的使用说明 利用游标原理对两测量面相对移动分隔的距离进行读数的测量器具。游标卡尺(简称卡尺)。 游标卡尺可以测量产品的内、外尺寸(长度、宽度、厚度、内径和外径),孔距,高度和深度等。 游标卡尺根据其结构可分单面卡尺、双面卡尺、三用卡尺等。 (1)单面卡尺带有内外量爪,可以测量内侧尺寸和外侧尺 寸(图1-1)。 (2)双面卡尺的上量爪为刀口形外量爪,下量爪为内外量爪,可测 内外尺寸(图1-2)。 (3)三用卡尺的内量爪带刀口形 ,用于测量内尺寸;外量爪带平面 和刀口形的测量面,用于测量外尺寸;尺身背面带有深度尺,用于测量深度和高度(图1-3)。 (4)标卡尺读数原理与读数方法 为了掌握游标卡尺的正确使用方法,必须学会准确读数和正确操作。 游标卡尺的读数装置,是由尺身和游标两部分组成,当尺框上的活动测量爪与尺身上的固定测量爪贴合时,尺框上游标的“0”刻线(简称游标零线)与尺身的“0”刻线对齐,此时测量爪之间的距离为零。测量时,需要尺框向右移动到某一位置,这时活动测量爪与固定测量爪之间的距离,就是被测尺寸,见图1-4。假如游标零线与尺身上表示30mm 的刻线正好对齐,则说明被测尺寸是30mm ;如果游标零线在尺身上指示的尺数值比30mm 大一点,应该怎样读数呢?这时,被 刀口内测量爪 尺身尺框紧固螺钉 游标深度尺外测量爪图1-3

测尺寸的整数部分(为30mm),如上所述可从游标零线左边的尺身刻线上读出来 (图中箭头所指刻线),而比1mm小的小数部分则是借助游标读出来的(图中● 图1-4:游标卡尺测量尺寸 游标的小数部分读数方法是首先看游标的哪一条线与尺身刻线对 齐;然后把游标这条线的顺序数乘以游标读数值,就得出游标的读数,即 游标的读数=游标读数值X游标对齐刻线的顺序数 游标卡尺读数时可分三步: A、先读整数——看游标零线的左边,尺身上最靠近的一条刻线的数值,读出被测尺寸的整数部分; B、再读小数——看游标零线的右边,数出游标第几条刻线与尺身的数值刻线对齐,读出被测尺寸的小数部分(即游标读数值乘其对齐刻线的顺序数); C、得出被测尺寸——把上面两次读数的整数部分和小数 部分相加,就是卡尺的所测尺寸。 (1)注意事项 A、清洁量爪测量面。 B、检查各部件的相互作用;如尺框和微动装置移动灵活,紧固螺钉能否起作用。 C、校对零位。使卡尺两量爪紧密贴合,应无明显的光隙,主尺零线与游标尺零线应对齐。 D、测量结束要把卡尺平放,尤其是大尺寸的卡尺更应该注意,否则尺身会弯曲变形。 E、带深度尺的游标卡尺,用完后,要把测量爪合拢,否侧较细的深度尺露在外边,容易变形甚至折断。 F、卡尺使用完毕,要擦净上油,放到卡尺盒内,注意不要锈 蚀或弄脏。

SQLServer数据库入门学习总结

SQL Server数据库入门学习总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作组成;对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数存储过程触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库--网状数据库和层次数据库;第二代数据库--关系数据库 数据库(DB);数据库管理系统(DBMS);数据库系统(DBS) SQL Server 2000 提供了不同版本:企业版、标准版、个人版、开发版 SQL Server中的数据类型:整数:int,smallint,tinyint,bigint;浮点数:real,float,decimal;二进制:binary,varbinary;逻辑:bit;字符:char,nchar,varchar,nvarchar;文本和图形:text,ntext,image;日期和时间:datetime,smalldatetime;货币:money,smallmoney 数据库的创建和删除;数据库表的创建、修改和删除 数据完整性:实体完整性:Primary Key,Unique Key,Unique Index,Identity Column;域完整性:Default,Check,Foreign Key,Data type,Rule;参照完整性:Foreign Key,Check,Triggers,Procedure;用户定义完整性:Rule,Triggers,Procedure;Create Table中得全部列级和表级约束 SQL Server中有5种约束:主键约束(Primary Key Constraint)、默认约束(Default Constraint)、检查约束(Check Constraint)、唯一性约束(Unique Constraint)、外键约束(Foreign Key Constraint). 关系图 数据库设计的步骤:需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护 两个实体之间的联系:一对一(1:1)、一对多(1:n)、多对多(m:n) 实体关系模型-- E-R图

Windows 2003 远程桌面连接数限制防止和解决方法

Windows 2003 远程桌面连接数限制防止和解决方法 Windows 2003 远程桌面连接数限制windows 2003 server远程桌面连接数限制已经困扰很久了,给平时的维护带来麻烦。既然微软不会从根本上解决这个问题,那只有通过其他方式来减少问题的发生几率。一、在服务器端的处理办法如下(只能时避免连接数受限制,如果已经受限制,以下方法无法解决): 1. 设定已经断开的会话结束时间限制,这样避免会话已经断开,但仍然占用一个Session 开始-运行-gpedit.msc-计算机配置-管理模板-windows组 件-终端服务-会话,右边窗口选择“为断开的会话设置时间限制”-选择“已启用”,选择一个时间开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终 端服务-会话,右边窗口选择“到达时间限制时终止会话”-选择“已启用”。2. 无限时保持连接会话,便于远程控制共享任意时候连接会话的数据,也就是共享任意时候连接的 远程桌面的当时状态:开始-管理工具-终端服务配置-服务器配置-限制每个用户使用一个会话 3. 养成良好习惯,退出出连接时不要直接关闭,而是使用注销。二、如果已经有多个连接存在 1.可以通过命令的方式将连接断开,这个方法在2000系统同样可用;如果在任务管理器的用户里注销的方法:1. 在Command Line模式下:输入命令query

user C:\>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME >dfsadmin 0 Disc . 7/23/2007 7:53 PM mrsadmin rdp-tcp#10 1 Active . 7/24/2007 9:31 AM ID 0 的用户是本地登陆的,ID 1 是3389登陆的用户,正在运行中,但是仍然占用系统资源和通道,我们要把它踢掉。如下进行操作即可。2. 可通过logoff x命令来注销id未x的登录用户,输入命令:logoff 1 ,再用query user 查询状态C:\>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME >dfsadmin 0 Disc . 7/23/2007 7:53 PM mrsadmin rdp-tcp#10 1 Active . 7/24/2007 9:31 AM C:\>logoff 1 C:\>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME >dfsadmin 0 Disc none 7/23/2007 7:53 PM 三、如果连接已经受限制,从远程登录的解决方法:可以用一个“3389DOS 版”软件来进行牵制登录。由于这里没办法上传附件,所以没办法。这个软件只能解决windows2003系统的限制,2000系统也没办法。四、用如下命令形式解决超过最大连接数问题(未验证,可以尝试一下)运行mstsc /v:IP /console ,比如就可以连接到远程系统的的会话。mstsc /v:211.211.0.5 /console 其实这主要是mstsc参数的了解,可通过mstsc /?学习一下。远程桌面连接MSTSC [<Connection File>] [/v:<sever[:port]>] [/console] [/f[ullscreen]] [/w:<width>/h:<

深度游标卡尺使用方法

深度游标卡尺使用方法

深度游标卡尺 深度游标卡尺用于测量凹槽或孔的深度、梯形工件的梯层高度、长度等尺寸,平常被简称为“深度尺”。是一种用游标读数的深度量尺。 深度游标卡尺使用注意事项 深度游标卡尺是比较精密的量具,使用是否合理,不但影响深度游标卡尺本身的精度和使用寿命,而且对测量结果的准确性,也有直接影响。必须正确使用深度游标卡尺。 1.使用前,认真学习并熟练掌握深度游标卡尺的测量、读数方法。 2.搞清楚所用深度游标卡尺的量程、精度是否符合被测零件的要求。 3.使用前,检查深度游标卡尺应完整无任何损伤,移动尺框3时,活动要自如 不应有过松或过紧,更不能有晃动现象。 4.使用前,用纱布将深度游标卡尺擦拭干净,检查尺身4和游标5的刻线是否 清晰,尺身有无弯曲变形、锈蚀等现象。校验零位、检查各部分作用是否正常。 5.使用深度游标卡尺时,要轻拿轻放,不得碰撞或跌落地下。使用时不要用来 测量粗糙的物体,以免过早损坏测量面。 6.移动卡尺的尺框和微动装置时,不要忘记松开紧固螺钉4;但也不要松得过 量,以免螺钉脱落丢失。 7.测量前,应将被测量表面擦干净,以免灰尘、杂质磨损量具。 8.卡尺的测量基座和尺身端面应垂直于被测表面并贴合紧密,不得歪斜,否则 会造成测量结果不准。 9.应在足够的光线下读数,两眼的视线与卡尺的刻线表面垂直,以减小读数误 差。 10.在机床上测量零件时,要等零件完全停稳后进行,否则不但使量具的测量面 过早磨损而失去精度,且会造成事故。 11.测量沟槽深度或当其他基准面是曲线时,测量基座的端面必须放在曲线的 最高点上,测量出的深度尺寸才是工件的实际尺寸,否则会出现测量误差。

SQLSERVER函数大全

SQL SERVER函数大全 SQL SERVER命令大全 SQLServer和Oracle的常用函数对比 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as int) value O:select trunc(-1.002) value from dual 5.四舍五入 S:select round(1.23456,4) value 1.23460 O:select round(1.23456,4) value from dual 1.2346 6.e为底的幂 S:select Exp(1) value 2.7182818284590451 O:select Exp(1) value from dual 2.71828182 7.取e为底的对数 S:select log(2.7182818284590451) value 1 O:select ln(2.7182818284590451) value from dual; 1 8.取10为底对数 S:select log10(10) value 1 O:select log(10,10) value from dual; 1 9.取平方 S:select SQUARE(4) value 16 O:select power(4,2) value from dual 16

联通宽带限制终端数量的解决方案

联通宽带限制终端数量的解决方案 篇一:解决服务器连接数量的限制 在工作中,经常需要远程连接到服务器上,然而在公司里,老总、同事都需要连接到服务器上的,而默认的WinXX 操作系统最大连接数是2,这样一来,问题也就来了,常常遇到“终端服务器超出最大连接数”,导致无法正常登陆服务器。下面讲解在网上流传的几种方法,来解决这一问题。解决方法一:用“注销”方式退出远程桌面,而不是直接关闭窗口; 解决方法二:踢出已经断开的连接用户; 1、首先通过各种方法连接到服务器上(telnet) 2、上去后,查看登陆用户列表。输入命令:query user 这样你就可以看出有何不同来啦,可以根据你的具体情况而定的。ID为0的用户就是本地登陆的,而在State中看提示,当提示为已断开,则说明用户已经断开还占用着系统资源和通道,这样就可以把该用户踢掉。输入logoff ID,即踢除相应ID的用户。 解决方法三:限制已断开连接的会话存在时间;(推荐) 一般情况下,我们在维护远程服务器时,不可能长时间在线,但是系统默认的却是只要登录就不再断开。因此,我们可以修改这一默认设置,给它指定一个自动断开的时间即可。

可以在Windows XX 服务器上通过组策略中设置一下来解决问题:单击“开始→运行”,输入“”,回车后打开组策略窗口,然后依次定位到“计算机配置→管理模板→Windows 组件→终端服务→会话”,然后在右侧窗口中双击“为断开的会话设置时间限制”,在打开的窗口中将“结束断开连接的会话”时间设置为5分钟,或者设置为空闲就断开。或在远程服务器上打开“运行”窗口,输入“”连接设置窗口。然后双击“连接”项右侧的“RDP-Tcp”,切换到“会话”标签,选中“替代用户设置”选项,再给“结束已断开的会话”设置一个合适的时间即可。 解决方法四:增加连接数量,即设置最大连接数再多些 默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数。 单击“开始→运行”,输入“”打开组策略编辑器窗口,依次定位到“计算机配置→管理模板→ Windows 组件→终端服务”,再双击右侧的“限制连接数量”,将其TS允许的最大连接数设置大一些即可。 经过上面两个配置(方法三&方法四),基本上就可以保证远程终端连接时不再受限。但仍有人反映,当前同时只有一个用户进行连接,却提示超出最大允许链接数,这又是什么原因呢?出现这种情况是因为操作不当所造成的。在上一

sqlserver函数大全

在SQL Server在线图书或者在线帮助系统中,函数的可选参数用方括号表示。在下列的CONVERT()函数例子中,数据类型的length和style参数是可选的: CONVERT (data-type [(length)], expression[,style]) 可将它简化为如下形式,因为现在不讨论如何使用数据类型: CONVERT(date_type, expression[,style]) 根据上面的定义,CONVERT()函数可接受2个或3个参数。因此,下列两个例子都是正确的: SELECT CONVERT(Varchar(20),GETDATE()) SELECT CONVERT(Varchar(20),GETDATE(), 101) 这个函数的第一个参数是数据类型Varchar(20),第2个参数是另一个函数GETDATE()。GETDATE()函数用datetime数据类型将返回当前的系统日期和时间。第2条语句中的第3个参数决定了日期的样式。这个例子中的101指以mm/dd/yyyy格式返回日期。本章后面将详细介绍GETDATE()函数。即使函数不带参数或者不需要参数,调用这个函数时也需要写上一对括号,例如GETDATE()函数。注意在书中使用函数名引用函数时,一定要包含括号,因为这是一种标准形式。 确定性函数 由于数据库引擎的内部工作机制,SQL Server必须根据所谓的确定性,将函数分成两个不同的组。这不是一种新时代的信仰,只和能否根据其输入参数或执行对函数输出结果进行预测有关。如果函数的输出只与输入参数的值相关,而与其他外部因素无关,这个函数就是确定性函数。如果函数的输出基于环境条件,或者产生随机或者依赖结果的算法,这个函数就是非确定性的。例如,GETDATE()函数是非确定性函数,因为它不会两次返回相同的值。为什么要把看起来简单的事弄得如此复杂呢?主要原因是非确定性函数与全局变量不能在一些数据库编程对象中使用(如用户自定义函数)。部分原因是SQL Server缓存与预编译可执行对象的方式。例如,即席查询可以使用任何函数,不过如果打算构建先进的、可重用的编程对象,理解这种区别很重要。 以下这些函数是确定性的: ●?AVG()(所有的聚合函数都是确定性的) ●?CAST() ●?CONVERT() ●?DATEADD() ●?DATEDIFF() ●?ASCII() ●?CHAR() ●?SUBSTRING() 以下这些函数与变量是非确定性的: ●?GETDATE()

SQLServer索引结构及其使用(三)

SQLServer索引结构及其使用(三) 实现小数据量和海量数据的通用分页显示存储过程 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。 更重要的是,对于非常大的数据模型而言,分页检索时,如果按照传统的每次都加载整个数据源的方法是非常浪费资源的。现在流行的分页方法一般是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行。 最早较好地实现这种根据页面大小和页码来提取数据的方法大概就是“俄罗斯存储过程”。这个存储过程用了游标,由于游标的局限性,所以这个方法并没有得到大家的普遍认可。 后来,网上有人改造了此存储过程,下面的存储过程就是结合我们的办公自动化实例写的分页存储过程: CREATE procedure pagination1 (@pagesize int, --页面大小,如每页存储20条记录 @pageindex int --当前页码 ) as set nocount on begin declare @indextable table(id int identity(1,1),nid int) --定义表变量 declare @PageLowerBound int --定义此页的底码 declare @PageUpperBound int --定义此页的顶码

SQLServer基本语法

1、建表格: Create TABLE table_name( column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY], column2 DATATYPE [NOT NULL], ...) 说明: DATATYPE --是资料的格式,详见表。 NUT NULL --可不可以允许资料有空的(尚未有资料填入)。 PRIMARY KEY --是本表的主键。 2、更改表格 Alter TABLE table_name ADD COLUMN column_name DATATYPE 说明:增加一个栏位(没有删除某个栏位的语法。 Alter TABLE table_name ADD PRIMARY KEY (column_name) 说明:更改表得的定义把某个栏位设为主键。 Alter TABLE table_name Drop PRIMARY KEY (column_name) 说明:把主键的定义删除。 3、建立索引 Create INDEX index_name ON table_name (column_name) 说明:对某个表格的栏位建立索引以增加查询时的速度。 4、删除 Drop table_name Drop index_name 二、的资料形态DATATYPEs smallint 16 位元的整数。 interger 32 位元的整数。 decimal(p,s) p 精确值和s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为p=5; s=0 。

相关文档