sql2005导入使用bulk insert 如果使用我本地的txt,导入到远程的数据库。老是提示本地找不到文件。便是我的本地是有的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在本地SQL SERVER上导入到远程SQL SERVER中吗?你先建立好和远程SQL SERVER的链接,然后和本机操作一样.参考如下:不同服务器数据库之间的数据操作--创建链接服务器 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服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) as a inner join 本地表 b on a.column1 = b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLEDB' , '远程服务器名或ip地址' --查询 select * FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') --把本地表导入远程表 insert openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') select * from 本地表 --更新本地表 update b set b.列B=a.列B FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') as a inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset SELECT * FROM opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').test.dbo.roy_ta --把本地表导入远程表 insert opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').数据库.dbo.表名 select * from 本地表 在本地 设立共享 文件夹,txt放到该文件夹里然后在远程服务器 建立 该 文件夹 的映射 要么就把文件放到服务器下.要么就在sqlserver上映射网络文件.把文件放到服务器下这个不说.复制过去然后bulk insert就可以.在Sql server上映射网络文件.设txt文件所在机器ip为10.10.10.2 在share文件夹下sql server机器所在ip为10.10.10.3txt文件所在机器的系统登录名和密码为administrator和123456该系统登录账号有对share的可读权限.在ssms上连接上10.10.10.3上的sql server实例.EXEC xp_cmdshell N'NET USE \\10.10.10.2\Share 123456 /USER:10.10.10.2\administrator',NO_OUTPUT;BULK INSERT 表 FROM '\\10.10.10.2\Share\aa.txt';EXEC xp_cmdshell N'NET USE \\10.10.10.2\Share /DELETE'; 不同服务器数据库之间的数据操作--创建链接服务器 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服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) as a inner join 本地表 b on a.column1 = b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLEDB' , '远程服务器名或ip地址' --查询 select * FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') --把本地表导入远程表 insert openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') select * from 本地表 --更新本地表 update b set b.列B=a.列B FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') as a inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset SELECT * FROM opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').test.dbo.roy_ta --把本地表导入远程表 insert opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').数据库.dbo.表名 select * from 本地表 我的实例create table my(id int,name varchar(20))create proc proc_myasinsert into my select convert (int,getdate()),getdate()insert opendatasource( 'SQLOLEDB ', 'Data Source=192.168.102.208;User ID=sa;Password=sa ').master.dbo.myselect convert (int,getdate()),getdate()exec proc_myselect * from my order by newid()select * from opendatasource( 'SQLOLEDB ', 'Data Source=192.168.102.208;User ID=sa;Password=sa ').master.dbo.my可以利用链接服务器,也可以按上面的说放共享文件夹里面 我怎么才可以把本地的txt不建立共享,文件也不在数据库本地存放,直接从我的电脑直接导入远程的数据库中??????? 请教SQL2000关于用户信息储存问题 法定节假日的判断....... 同步和备份SQL Server 2000 数据库求助! 一个数据库查询的问题,急急急!!!!!!!!!!!!!!!(在线等待!@#$%^&*) 皱老大,苦行僧等高手进来看看吧,优化问题 请问一下触发器的问题 Delete删除重复数据 关于存储过程中构造一个字段排序的问题! 返回变量问题 ,高手请近 请教怎么恢复SQL SERVER数据库 关于服务器上往本地导数据 Excel导入sql2008
不同服务器数据库之间的数据操作--创建链接服务器
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服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名)
select *from 本地表 --更新本地表
update b
set b.列A=a.列A
from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) as a inner join 本地表 b
on a.column1 = b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLEDB' , '远程服务器名或ip地址'
--查询
select *
FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名')
--把本地表导入远程表
insert openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') as a
inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset
SELECT *
FROM opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').数据库.dbo.表名
select * from 本地表
然后在远程服务器 建立 该 文件夹 的映射
要么就在sqlserver上映射网络文件.把文件放到服务器下这个不说.复制过去然后bulk insert就可以.在Sql server上映射网络文件.
设txt文件所在机器ip为10.10.10.2 在share文件夹下
sql server机器所在ip为10.10.10.3txt文件所在机器的系统登录名和密码为administrator和123456
该系统登录账号有对share的可读权限.在ssms上连接上10.10.10.3上的sql server实例.EXEC xp_cmdshell N'NET USE \\10.10.10.2\Share 123456 /USER:10.10.10.2\administrator',NO_OUTPUT;BULK INSERT 表 FROM '\\10.10.10.2\Share\aa.txt';EXEC xp_cmdshell N'NET USE \\10.10.10.2\Share /DELETE';
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服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名)
select *from 本地表 --更新本地表
update b
set b.列A=a.列A
from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) as a inner join 本地表 b
on a.column1 = b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLEDB' , '远程服务器名或ip地址'
--查询
select *
FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名')
--把本地表导入远程表
insert openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') as a
inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset
SELECT *
FROM opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').数据库.dbo.表名
select * from 本地表 我的实例create table my(id int,name varchar(20))create proc proc_my
as
insert into my select convert (int,getdate()),getdate()insert opendatasource( 'SQLOLEDB ', 'Data Source=192.168.102.208;User ID=sa;Password=sa ').master.dbo.my
select convert (int,getdate()),getdate()exec proc_myselect * from my order by newid()
select * from opendatasource( 'SQLOLEDB ', 'Data Source=192.168.102.208;User ID=sa;Password=sa ').master.dbo.my可以利用链接服务器,也可以按上面的说放共享文件夹里面