Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

संग्रहीत प्रक्रिया के माध्यम से SQL से बाइनरी फ़ाइल डेटा (छवियां) निर्यात करना

ठीक है, सबसे पहले.. (और इसके लिए खेद है;)) कर्सर का उपयोग न करें..और कैप्स के लिए क्षमा करें...

कर्सर के बारे में सबसे बुरी चीजों में से एक यह है कि वे आपकी टेबल को लॉक कर सकते हैं। मैं हमेशा इन उद्देश्यों के लिए क्या करता हूं (और जो काफी तेज है), मैं लूप के लिए उपयोग करता हूं .. इस तरह

declare @totrow int
      , @currow int
      , @result int
      , @nsql nvarchar(max)

declare @sqlStatements table (
  Id int identity(1, 1)
, SqlStatement varchar(max)
)
insert 
into    @sqlStatements
select  'QUERY PART'
from    table

set @totrow = @@rowcount
set @currow = 1
while @totrow > 0 and @currow <= @totrow
begin
  select @nsql = SqlStatement
  from   @SqlStatements
  where  Id = @currow

  exec @result = xp_cmdshell @nsql

  set @currow = @currow + 1
end

अगले भाग के लिए, क्या SQL सर्वर प्रक्रिया में c:ड्राइव पर लिखने के लिए पर्याप्त अनुमति है? साथ ही, जब आप अपना कोड निष्पादित करते हैं तो अपने संदेश फलक में देखें, हो सकता है कि आपको वहां कुछ मिल जाए?

आप क्या कर सकते हैं, इसे मैन्युअल रूप से निष्पादित करने का प्रयास करें। बस एक बीसीपी विवरण प्राप्त करें और इसे xp_cmdshell के साथ निष्पादित करें। क्या यह कोई त्रुटि देता है?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्षतिग्रस्त एसक्यूएल बैकअप की मरम्मत के लिए एसक्यूएल बैकअप रिकवरी टूल - उत्पाद समीक्षा - डैनियल जोन्स द्वारा एक अतिथि पोस्ट

  2. SQL सर्वर में लेफ्ट जॉइन और राइट जॉइन के बीच अंतर

  3. SQL सर्वर 2019 संस्करण पर विचार

  4. केस संवेदनशील होने के लिए मैं SQL Server 2005 को कैसे बदलूं?

  5. CSV फ़ाइल में SQL कथन आउटपुट कैसे लिखें?