一种商业
数据库的
数据传输方法,其包括至少一个中间文件服务器,数据存储方之间通过中间文件服务器交换数据,其数据传输步骤如下:接收方的数据统计信息包含数据发送申请文件中,将数据发送申请文件发送到中间文件服务器;发送方接收到中间文件服务器转发的数据发送申请文件后,分析申请文件中的数据统计信息,对比双方数据是否一致,发送方将数据包发送到FTP本篇文章讨论的是有关数据库之间数据传送的问题 在实际的应用领域里都可以用到 具有实用价值 例如 公司目前数据库中的信息量不够 需要第三方的数据支持 这事就有几种情况了 对方直接提供数据库帐号 你可以直接访问(可能性很小) 对方把数据库的信息自动转换成 mdbdbfTXT等格式的文件 然后传到你的服务器上 通过一个数据库接口程序 直接插到你的数据库中 这里还有个问题 无论对方提供的数据的结构是否和我们
自己的一样 都不能直接插到我们的库中 这样一旦有问题会破坏我们的数据库 那么我们怎么办呢?下面的文档会有很好的答案 具体示例 本篇文章讨论的是有关数据库之间数据传送的问题 在实际的应用领域里都可以用到 具有实用价值 例如 公司目前数据库中的信息量不够 需要第三方的数据支持 这事就有几种情况了 对方直接提供数据库帐号 你可以直接访问(可能性很小) 对方把数据库的信息自动转换成 mdbdbfTXT等格式的文件 然后传到你的服务器上 通过一个数据库接口程序 直接插到你的数据库中 这里还有个问题 无论对方提供的数据的结构是否和我们自己的一样 都不能直接插到我们的库中 这样一旦有问题会破坏我们的数据库 那么我们怎么办呢?下面的文档会有很好的答案 具体示例 本篇文章讨论的是有关数据库之间数据传送的问题 在实际的应用领域里都可以用到 具有实用价值 例如 公司目前数据库中的信息量不够 需要第三方的数据支持 这事就有几种情况了 对方直接提供数据库帐号 你可以直接访问(可能性很小) 对方把数据库的信息自动转换成 mdbdbfTXT等格式的文件 然后传到你的服务器上 通过一个数据库接口程序 直接插到你的数据库中 这里还有个问题 无论对方提供的数据的结构是否和我们自己的一样 都不能直接插到我们的库中 这样一旦有问题会破坏我们的数据库 那么我们怎么办呢?下面的文档会有很好的答案 一 数据库间的 COPY 导入导出等 利用数据库自带的向导进行数据库之间的传递 好处 可以在不同的数据库接口间传递数据 缺点 传递数据的过程中不能对数据进行更改 技巧 可以利用任务(JOB)定时取需要的数据 二 利用脚本和任务(JOB)更改处理数据 编写相关的数据库脚本 然后在任务(JOB)中运行 好处 可以更改插入的内容和插入的位置 使用灵活 缺点 要自己手写代码 技巧 可以配合导入导出 利用任务(JOB)实现强大的功能 具体示例 用途 把其它数据库服务器中的数据( mdbdbfsqlserver 等) 定时导入自己的数据库中使用 有个问题是 因为我们自己的数据库已经在使用 并且结构和要导入的数据库大不相同 而且原数据库中的某些内容要调整 所以我们利用了中间数据库 如图 具体的脚本程序 /*用途 把第三方提供的数据信息时时导入我们自己的数据库中 步骤 用 DTS (导入导出向导)把数据导入到中间数据库中 要设置任务定时导入 编写下面的脚本 然后把它加在 DTS 任务的后一步 即运行完 DTS后在运行此脚本 */ declare @id int @title nvarchar( ) 定义变量 declare test cursor for 定义游标 select DISTINCT id title from society where datediff(day date getdate()) <1 open test --打开游标fetch next from test into @id,@title while @@fetch_status = 0 --循环取数据 begindeclare @titletemp nvarchar(255)declare test1 cursor for select title from dbB.dbo.tb_infogegu where title=@title and datediff(day,date,getdate()) = 0 open test1 fetch next from test1 into @titletemp if( @@fetch_status = 0) --表中该记录已经存在,删除该记录 DELETE FROM society WHERE id=@id Else --不存在时,插入该记录 begin insert into dbB.dbo.tb_infogegu (title,content,channel,date,tradetype,stockcode, fromdate) select top 1 title,content,channel,date,tradetype,stockcode, fromdate from society where id=@id order by date DELETE FROM society WHERE id=@id end close test1 deallocate test1 fetch next from test into @id,@title end DELETE FROM society close test deallocate test GO lishixinzhi/Article/program/SQLServer/201311/22150
评论列表(0条)