科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道复制Image字段数据到新表同样的字段内(1)

复制Image字段数据到新表同样的字段内(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近在写一个升级程序,其中要求将一个旧数据库里面的所有的照片都转到新数据库。

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年8月28日

关键字: image 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件

最近在写一个升级程序,其中要求将一个旧数据库里面的所有的照片都转到新数据库。暂且把旧数据库叫OldDB,新数据库叫NewDB,新数据库里面的字段为【Photo】,旧数据库叫【Picture】 。开始我是这样做的,先读出旧数据库里的数据,然后用insert into插入:

insert into[ table1] values("&rs("Picture")&") Tv WZq2  
后来发现不行,我以为数据类型搞错了,改了下代码,如下:

insert into[ table1] values(‘"&rs("Picture")&"’) )@o=:>c[  
多加了一对单引号,系统还是提示错误。以下为存储过程: yl8cIS`3r  
<CENTER><ccid_nobr> J[/Il{8  
<table width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"> {*KT*|D#X  
<tr> k a"j=  
    <td bgcolor="e6e6e6" class="code" style="font-size:9pt"> z&eQ~!J  
    <pre><ccid_code> /"_ow,s  
if exists (select * from dbo.sysobjects R6`4T&a*]  
where id = object_id(N'[dbo].[sp_textcopy]') ~UWG{sm)  
and OBJECTPROPERTY(id, N'IsProcedure') = 1) fbq)tZD[  
drop procedure [dbo].[sp_textcopy] t\>c;0{w  
GO

SET QUOTED_IDENTIFIER OFF Y%?.Ld_X#e  
GO $6B`+03  
SET ANSI_NULLS OFF K F^9.S{8  
GO

CREATE PROCEDURE sp_textcopy ( _IgE>F  
  @srvname    varchar (30), 5+6mK)l  
  @login varchar (30), `u! & 397m  
  @password    varchar (30), V}+8,|  
  @dbname varchar (30), a#~Ln34!n/  
  @tbname varchar (30), ^wc:Veu  
  @colname    varchar (30), x`?i*>X`  
  @filename    varchar (30),  \a6[  
  @whereclause varchar (40), =?]}s4+B  
  @direction  char(1)) 95 -N, f  
AS aS,?Kr P  
DECLARE @exec_str varchar (255) B%LN9  
SELECT @exec_str = ]3Gg7Ua  
   'textcopy /S ' + @srvname + '%v <>V'   
   ' /U ' + @login + sDqu%!pe  
   ' /P ' + @password + )wNj K'  
   ' /D ' + @dbname + U(iM72  
   ' /T ' + @tbname + c'lx|/  
   ' /C ' + @colname + m'Wki  
   ' /W "' + @whereclause + |IW-fB  
   '" /F ' + @filename + :.`K ,m  
   ' /' + @direction  >rEWAM+  
EXEC master..xp_cmdshell @exec_str EPS\4>yB  
GO l"i,ExG  
SET QUOTED_IDENTIFIER OFF tfS}l_  
GO xiEpj]&I:  
SET ANSI_NULLS ON 71Lg[bai  
GO 0 :UJ/B  
  </ccid_code></pre> j^lOdVjT  
   </td> {N]u!G!  
  </tr> c]/8qI /L  
</table> 16=RK,G  
</ccid_nobr></CENTER>

这是调用textcopy将图片数据导入和导出的语句,我原打算新旧数据库调用同一个存储过程,旧数据库先将数据导出到硬盘,新数据库在导入。在测试以后,发现不成功,页面显示不出数据,单独用textcopy测试还是可以导出数据的,但在程序中调用,没有成功。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章