日期:2014-05-18  浏览次数:20603 次

請教關於textcopy的使用
網頁上有大堆的應用textcopy   在SQL   SERVER中導入導出圖片文件的例子。
參考網上大家提供的資料,
如下所示:sp_textcopy       '服務器名 ', '用戶 ', '密碼 ', '數據庫名 ', '表名 ', 'image列名 ', '文件路徑 ', '條件 ', 'O '    
我現在的問題是,如果文件路徑中,使用的是服務器所在的盤符,是完全可以執行的。但如果我將文件路徑換為其它電腦上共享的(讀寫完全控制)路徑,則總是報錯。如sp_textcopy       '服務器名 ', '用戶 ', '密碼 ', '數據庫名 ', '表名 ', 'image列名 ', 'c:\text.jpg ', '條件 ', 'O '     ---這個執行是沒問題的

換成:sp_textcopy       '服務器名 ', '用戶 ', '密碼 ', '數據庫名 ', '表名 ', 'image列名 ', '\\cht-c\image\text.jpg ', '條件 ', 'O '    
cht-c   為一臺與服務器同局域網的電腦,image   為該電腦上的共享文件夾。
此時執行命令,返回結果提示沒法執行,或權限不足。

請各位高手指點一下如何解決?  


------解决方案--------------------
关注```等学习``
------解决方案--------------------
在存储文件、图片时有用:
SQL code
create PROCEDURE sp_textcopy ( 
  @srvname    varchar (30), 
  @login      varchar (30), 
  @password    varchar (30), 
  @dbname      varchar (30), 
  @tbname      varchar (30), 
  @photoname    varchar (30), 
  @filename    varchar (30), 
  @whereclause varchar (40), 
  @direction  char(1)) 
AS 
DECLARE @exec_str varchar (255) 
SELECT @exec_str = 
        'textcopy /S ' + @srvname + 
        ' /U ' + @login + 
        ' /P ' + @password + 
        ' /D ' + @dbname + 
        ' /T ' + @tbname + 
        ' /C ' + @photoname + 
        ' /W "' + @whereclause + 
        '" /F ' + @filename + 
        ' /' + @direction 
EXEC master..xp_cmdshell @exec_str ,no_output 

create table photo(id int identity(1,1),photo image,memo nvarchar(50) default 'my photo')
go
insert photo(photo) values(0x)    -- 必须的,且不是null
select * from photo
--truncate table photo

sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\myphoto\roy3.jpg','where id=5','I' --注意条件是 id=1


3、读入
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\photo\21.jpg','where id=1','I' --注意条件是 id=1

sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\photo\33.jpg','where id=2','I' --注意条件是 id=2

go

4、读出成文件
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy.jpg','where id=1','O' --注意条件是 id=1
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy1.jpg','where id=2','O'
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy2.jpg','where id=3','O'
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy3.jpg','where id=4','O'

sp_textcopy 'roy','sa','wuxi','test','photo','photo','c:\bb.doc','where id=5','O' --注意条件是 id=2