使用SQL脚本访问操作远程数据库

 1 USE [Hik]
 2 GO
 3 /****** Object:  StoredProcedure [dbo].[sp_test]    Script Date: 08/21/2015 09:55:21 ******/
 4 SET ANSI_NULLS ON
 5 GO
 6 SET QUOTED_IDENTIFIER ON
 7 GO
 8 -- Batch submitted through debugger: SQLQuery17.sql|7|0|C:\Users\a\AppData\Local\Temp\~vs6295.sql
 9 -- Batch submitted through debugger: SQLQuery14.sql|7|0|C:\Users\a\AppData\Local\Temp\~vsCDAD.sql
10 -- =============================================
11 -- Author:        <Author,,Name>
12 -- Create date: <Create Date,,>
13 -- Description:    <Description,,>
14 -- =============================================
15 ALTER PROCEDURE [dbo].[sp_test]
16 @ServerName VARCHAR(100)
17 AS
18 BEGIN
19
20     SET NOCOUNT ON;
21
22     --如果经常访问或数据量大,建议用链接服务器
23
24 --创建链接服务器
25 exec   sp_addlinkedserver     @ServerName, ‘ ‘, ‘SQLOLEDB ‘, ‘192.168.1.9 ‘ ;
26 exec   sp_addlinkedsrvlogin   @ServerName, ‘false ‘,null, ‘sa ‘, ‘251314‘ ;
27
28 --查询示例
29 --declare @tname varchar(20),@num int
30 --set @[email protected]+‘.Hik‘
31 --declare @sql Nvarchar(1000)=N‘select @num=COUNT(*) from ‘[email protected]+‘.dbo.Device‘;
32 --Exec sp_executesql @sql,N‘@num int output‘,@num output
33 --select @num
34
35 declare @sql Nvarchar(max)=N‘select count(*) from ‘+@ServerName+‘.Hik.dbo.Device‘;
36 Exec sp_executesql @sql;
37
38 --处理完成后删除链接服务器
39 exec sp_dropserver  @ServerName, ‘droplogins ‘;
40
41 END

我也是在网上找到的资源,然后修改了一下,实现了需求的原形,供大家参考。

时间: 2024-10-06 13:15:27

使用SQL脚本访问操作远程数据库的相关文章

SQL server触发器、存储过程操作远程数据库插入数据,解决服务器已存在的问题

近期弄了一个小项目,也不是非常复杂,须要将一个数据库的一些数据备份到另外一个库.不是本地,可能是网络上其它的数据库.想了一下,用了存储过程和触发器. 也不是非常复杂,首先我须要操作远程数据库,于是写了一个存储过程: CREATE PROCEDURE sendInfoToRemoteDb @CardNo varchar(50), @CardStyle varchar(20), @userId varchar(20), @UserName varchar(30), @passDate datetim

Python操作远程数据库

我的项目要往数据库中插入create_time和update_time,那就势必要引用现在的系统时间,经过大量的查找,终于发现往python是没有对应时间datetime的相关通配符的,那么我们要怎么实现呢. 其实很简单,我们只需要把datetime转换成字符串类型的就行 def insertIntoChannel(self, user): conn = JDBCUtils.getConnection() cursor = conn.cursor() dt=datetime.datetime.n

PL/SQL Developer怎么连接远程数据库

首先打开电脑,到PL/SQL安装的指定目录 [D:\app\DZL\product\10.2.0\dbhome_1\NETWORK\ADMIN]或者[D:\oracle\product\10.2.0\db_1\network\ADMIN]或者是不登录进入PL/SQL如图 找到你的安装路径经再找到..\network\ADMIN下的[tnsnames.ora] 打开[tnsnames.ora]文件,增加你需要远程连接的字符串.例如: XXXX =  (DESCRIPTION =    (ADDRE

使用instantclient 11 2和pl/sql Developer连接oracle远程数据库

1.下载Instant Client         Oracle官网地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 或CSDN免积分下载:instantclient-basic-nt-11.2.0.2.0         下载后是一个压缩文件,解压后的文件叫instantclient_11_2,放在自己喜欢的目录,如:D:/instantclient_11_2 2.D

sql脚本函数编写postgresql数据库

postgresql创建Long自增函数 CREATE SEQUENCE global_id_sequence; CREATE OR REPLACE FUNCTION seq_id(OUT result bigint) AS $$ DECLARE our_epoch bigint := 1314220021721; seq_id bigint; now_millis bigint; -- the id of this DB shard, must be set for each -- schem

用openrowset函数操作远程数据库

OPENROWSET 包含访问 OLE DB 数据源中的远程数据所需的全部连接信息.当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的.特殊的方法.可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数.依据 OLE DB 提供程序的能力,还可以将 OPENROWSET 函数引用为 INSERT.UPDATE 或 DELETE 语句的目标表.尽管查询可能返回多个结果集,然而 OPENROWSET 只返回第一个. 语法

使用Navicat的SSH Tunnel和SecureCRT的端口转发功能连接本机IP被禁止访问的远程数据库服务器

为了安全起见,数据库服务器一般只部署在内网:或者如果部署在公网,但只对某些指定的IP开放.但如果数据最终是给公网用户查询的,总会有一条通道可以访问到数据库.下面利用Navicat和SecureCRT实现对两种不同情景下的数据库访问. 情景一:数据库服务器在公网开放了SSH服务 方法一:利用Navicat的SSH Tunnel Navicat中的配置: General选项卡: Host Name/IP Address:数据库服务器的域名或IP地址 Port:数据库端口(如MySQL:3306) U

XE5 ANDROID通过webservice访问操作MSSQL数据库

一.服务端 在ro里添加函数(在impl上添加阿东connection,adoquery,dataprovider) function TNewService.getdata(const sqlstr: Utf8String): Variant;beginqry1.Close;qry1.SQL.Text:='';qry1.SQL.Text:=sqlstr;qry1.Open;ds1.Data:=dtstprvdr1.Data;Result:=ds1.XMLData;//传一个xmldata给客户

Sql Server 常用操作远程桌面语句

1.是否开启远程桌面,1表示关闭,0表示开启 EXEC master..xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections' 2.读取远程桌面端口 EXEC master..xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TerminalServer\WinSt