作品发布     邀请码    设为首页  收藏 

当前位置:文章数据库 → 文章内容 >> 上传多个文件到Ms sqlserver的image类型字段


上传多个文件到Ms sqlserver的image类型字段

更新时间:2012-2-18 15:16:59   作者:华中帝国整理  来源:华中帝国
December 14, 2004Upload multiple files to SQL Server Image columnBy Muthusamy Anantha Kumar aka The MAK翻译:xiaolu 这篇文章是个上传多个文件到Ms sqlserver的image类型字段的例子,很多办法可以做到 ...
December 14, 2004
Upload multiple files to SQL Server Image column
By Muthusamy Anantha Kumar aka The MAK
翻译:xiaolu
    这篇文章是个上传多个文件到Ms sqlserver的image类型字段的例子,很多办法可以做到,我想介绍的这种方法利用了OSQL.exe和TEXTCOPY.exe工具。 
先决条件:
    a.必须安装了ms sqlsever 2000的客户端工具
    b.sql的用户必须至少是dbowner权限
步骤:
    1.建立upload.bat,内容如下:

@ECHO off
cls
REM ECHO on
REM Objective: To upload all the files in the folder to SQL server as a table
REM Created by: MAK
REM Date: Nov 3, 2004
REM Contact: mak_999@yahoo.com
REM Check parameters
if "%1"=="" Goto noparmErr
if "%1"=="/?" Goto Help
REM assign variables
set Sourcefolder=%1
set servername=%2
set Databasename=%3
set loginname=%4
set password=%5
set LogFile=%6
Date/t > %6
time /t >> %6
REM Export DIR listing to Dirlist.txt
dir %1 /b > Dirlist.txt
OSQL /S%2 /U%4 /P%5 /d%3 /Q "if exists (select * from %3.dbo.sysobjects where id = object_id(N'[Myuploadtable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table %3.dbo.[Myuploadtable] " >> %6
OSQL /S%2 /U%4 /P%5 /d%3 /Q "create table %3.dbo.Myuploadtable (id varchar(500),ImageFiles Image)" >> %6
FOR /F "usebackq delims==" %%i in (Dirlist.txt) do OSQL /S%2 /U%4 /P%5 /Q "insert into %3.dbo.Myuploadtable (id,ImageFiles) values('%%i',' ') " >> %6

FOR /F "usebackq delims==" %%i in (Dirlist.txt) do textcopy.exe /S%2 /U%4 /P%5 /D%3 /Tmyuploadtable /CImagefiles /F"%1%%i" /I /W"where [id]='%%i'" >> %6
GOTo END2
:noparmErr
Echo Usage help: example as follows
echo ...
Echo Objective: To upload all the files in the folder to SQL server Table 
Echo Created by: MAK
Echo USAGE:
ECHO ....
ECHO ....
Echo %0 SourceFolder Servername Databasename Login Password LogFile
Goto END2

:Help
Echo Usage help: example as follows
echo ...
Echo Objective: To upload all the files in the folder to SQL server Table 
Echo Created by: MAK
Echo USAGE:
ECHO ....
ECHO ....
Echo %0 SourceFolder Servername Databasename Login Password Logfile
Goto END2
:END
Echo "Compare Query results Completed" >>%LogFile%
date/t >> %LogFile%
time/t >> %LogFile%
goto END2
:END2

_blank>upload.bat下载
    2.把textcopy.Exe从Microsoft SQL Server\MSSQL\Binn目录拷贝到upload.bat同一目录。
    3.运行upload.bat,参数如下:
帝国.files/image003.jpg" target="_blank>帝国.files/image003.jpg" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="cursor: pointer;"/>

      Upload  - bat文件名
      C:\myfiles\  - 所有要传的文件目录(放在一个目录下)
      SQL  - sqlserver的网络名称或者ip地址
      MyDB  - 数据库名(必须存在) 
      sa  - 数据库用户名
      yeahright  - 数据库密码
      x.log  - 本地log文件
帝国.files/image004.jpg" target="_blank>点击打开新窗口帝国.files/image004.jpg" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="cursor: pointer;"/>


Select ID from Myuploadtable
01-2004-08-20-.wav 
Pfizer 12625.doc 
STARTSQL.bat 
status.bat 
STOPSQL.bat 
sysperfinfo.zip
Tech Interview.xls 
Unix.bat 
Taiwan.zip
select * from Myuploadtable
01-2004-08-20-.wav  0x5249464618990A00574
Pfizer 12625.doc 0xD0CF11E0A1B11AE 
STARTSQL.bat 0x6E65742073746F7D 
status.bat 0x6E6574207374617SDF 
STOPSQL.bat 0x6E65742073746FDF 
sysperfinfo.zip 0x5249464618990A00574 
Tech Interview.xls 0xD0CF11E0A1B11AEDF 
Unix.bat 0x6E65742073746F7DER 
Taiwan.zip 0x5249464618990A00DE

   免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

责任编辑:华中帝国        



本文引用网址: 

上传多个文件到Ms sqlserver的image类型字段的相关文章
发表评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码