sql数据库

SQL 使用openquery进行跨库操作

谁说我不能喝 提交于 2020-03-04 09:02:50
摘自:http://www.cnblogs.com/aji88/archive/2009/11/06/1597263.html 对给定的链接服务器执行指定的传递查询。该服务器是 OLE DB 数据源。OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名。OPENQUERY 也可以作为 INSERT、UPDATE 或 DELETE 语句的目标表进行引用。但这要取决于 OLE DB 访问接口的功能。尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。 Transact-SQL 语法约定 语法 OPENQUERY ( linked_server ,'query' ) 参数 http://ddue.schemas.microsoft.com/authoring/2003/5 NS = "http://ddue.schemas.microsoft.com/authoring/2003/5" linked_server 表示链接服务器名称的标识符。 ' query ' 在链接服务器中执行的查询字符串。该字符串的最大长度为 8 KB。 备注 OPENQUERY 不接受其参数的变量。 在 SQL Server 2000 和更高版本中,OPENQUERY 不能用于对链接服务器执行扩展存储过程。但是,通过使用四部分名称,可以在链接服务器上执行扩展存储过程。例如:

SP_addlinkedserver 小结 (oracle,sql server,access,excel)

南楼画角 提交于 2020-03-04 08:54:30
/////////////////////////////SQL SERVER//////////////////////////// Exec sp_droplinkedsrvlogin DBVIP,Null Exec sp_dropserver DBVIP EXEC sp_addlinkedserver @server='DBVIP',-- 被访问的服务器别名 @srvproduct='', @provider='SQLOLEDB', @datasrc='Server2' -- 要访问的服务器 EXEC sp_addlinkedsrvlogin 'DBVIP', -- 被访问的服务器别名 'false', NULL, 'sa', -- 帐号 'thankyoubobby' -- 密码 Select * from DBVIP.pubs.dbo.orders /////////////////////////////ORACLE//////////////////////////// 需要 SQL SERVER 服务器中安装 ORACLE 客户端; Exec sp_droplinkedsrvlogin demo,Null Exec sp_dropserver demo go EXEC sp_addlinkedserver @server ='demo', --

SQL Server跨服务器查询

て烟熏妆下的殇ゞ 提交于 2020-03-04 08:52:41
创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名

SQL Server跨服务器查询

北城余情 提交于 2020-03-04 08:51:53
创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名

sql server 跨库操作

拜拜、爱过 提交于 2020-03-04 08:50:21
SELECT *FROM OPENDATASOURCE('SQLOLEDB','Data Source=sql服务器名;User ID=用户名;Password=密码;').PersonDb.dbo.Table_1 exec sp_dropserver 'SQL2','droplogins' exec sp_addlinkedserver @server= 'SQL2', @srvproduct= '', @provider='SQLNCLI', @datasrc = 'sql服务器名' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'SQL2', @useself = 'false ', @locallogin = null, @rmtuser ='用户名', @rmtpassword = '密码' select * from SQL2.PersonDb.dbo.Table_1 ------------------------------------------------------------------------------------------------------- 用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from

配置sql server 2000以允许远程访问

风格不统一 提交于 2020-03-04 04:34:48
配置 sql server 2000 以允许远程访问 适合故障: 1. 用sql企业管理器能访问 sql server 2000 (因为它是采用命名管道(named pipes)方式进行方式),但用ado.net 方式(udp)不能 访问. 2. 采用ado.net方式不能远程访问. 故障的可能原因有: 1. sql server 2000 没有安装 sql server 2000 sp3a及以上升级包,还未启用并开放1433端口(udp); 2.系统防火墙未开放1433端口. 解决办法: 一.检查 sql server 2000 是否已启用并开放1433端口.(在sql2000服务器上) 方法: 开始-->运行-->打开-->执行 "cmd" 命令 -->执行 "netstat -na" 命令. 看是否有无 TCP 127.0.0.1:1433 0.0.0.0:0 LISTENING TCP 192.168.123.98:1433 0.0.0.0:0 LISTENING 如果没有刚表明sql2000端口监听服务未启动. 转第三步. 如果有则转第二步 二.检查 sql server 2000 服务器所在机器防火墙设置, sql server 2000 服务器端是否启动Sql Server服务. 主要检查防火墙是否设置允许1433端口通信. 简单的方法是关闭防火墙后再试. 方法:

SqlServer常用的几种分页查询SQL语句介绍、对比以及在.Net下的使用

家住魔仙堡 提交于 2020-03-04 04:01:29
前言 在实际开发过程中,当数据量比较多的时候,大量的数据一下子展示到页面上是非常不可取的。所以我们通常要进行分页(这里的分页是指真分页),而不是前端JS实现的假分页。 最近的学习过程中,使用ASP.NET MVC配合Layui框架进行开发时,根据Layui Page传回的参数要进行分页操作(虽然EntityFramework提供了非常便捷的分页方法,但是SQL什么时候都不能忘掉吧O(∩_∩)O哈哈~)。索性对于分页SQL这一块,自己做一个系统的总结。 本篇博客针对于SQL Server数据库进行讨论 一、三种分页SQL语句的介绍和写法 示例数据库的字段: 假设有100条数据,每页显示10条,我们取第3页数据来说 这里按照三种SQL的的破壳日从古到今进行介绍叭! 1.top+嵌套查询 介绍:简单的来说就是,我们需要第21-30条数据,我们先查前20条id为一个集合,再从原表中取id不在这个集合中的前十条; 写法: select top 10 * from BigDataTable where id not in(select top 20 id from BigDataTable order by id) order by id 注: 两个排序字段要保持一致! 2.ROW_NUMBER()开窗函数(支持SqlServer 2005版本以上) 介绍:通过ROW_NUMBER(

Java执行Sql脚本工具类

心已入冬 提交于 2020-03-04 03:15:18
/** * cn.esoon.util * * @author surpass * @date 2020/3/3 */ public class RunSqlScript { private static volatile RunSqlScript instance; /** * 数据库连接地址 */ private String url; /** * 数据库连接用户名 */ private String username; /** * 数据库密码 */ private String password; private Connection conn; private ScriptRunner runner; private boolean isTest = false; private RunSqlScript(String url, String username, String password) { this.url = url; this.username = username; this.password = password; } /** * 创建脚本执行对象 * * @param url 数据库连接地址 * @param username 数据库连接用户名 * @param password 数据库连接密码 * @return */ public static

【SQL SERVER学习笔记】 SET ANSI_NULLS ON 和 SET QUOTED_IDENTIFIER等

大憨熊 提交于 2020-03-03 21:31:59
语法 SET QUOTED_IDENTIFIER { ON | OFF } 注释 当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。有关更多信息,请参见使用标识符。文字可以由单引号或双引号分隔。 当 SET QUOTED_IDENTIFIER 为 ON 时,由双引号分隔的所有字符串都被解释为对象标识符。因此,加引号的标识符不必遵守 Transact-SQL 标识符规则。它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符。不能使用双引号分隔文字字符串表达式,而必须用单引号括住文字字符串。如果单引号 (') 是文字字符串的一部分,则可以由两个单引号 ('') 表示。当对数据库中的对象名使用保留关键字时,SET QUOTED_IDENTIFIER 必须为 ON。 当 SET QUOTED_IDENTIFIER 为 OFF(默认值)时,表达式中的文字字符串可以由单引号或双引号分隔。如果文字字符串由双引号分隔,则可以在字符串中包含嵌入式单引号,如省略号。 当在计算列或索引视图上创建或操作索引时,SET QUOTED_IDENTIFIER 必须为 ON。 如果

SQL Server UPDATE语句的用法详解

左心房为你撑大大i 提交于 2020-03-03 21:29:36
SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解。 现实应用中数据库中的数据改动是免不了的。通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改。在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的。这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一。这是因为在大多数情况下,这条语句的高级部分很少使用。在用户看来,UPDATE语句只是用来改变指定行中的数据。但实际的内部情况是,SQL Server从表中删除旧的数据行并插入新行。 SQL Server UPDATE语句的语法如下: update <table_name> set <column_name> = <value> where <search_condition> 下面是语法选项简介: <table_name>表的名称。该表包含了要修改值的列 <column_name>要修改数据的列的名称 <value>要输入到列中的新值 <search_condition>这是UPDATE语句中最重要的部分。通过指定一个好的搜索条件,你能够限定表内被修改的行数。如果你不指定搜索条件