1. 怎麼樣把sql SERVER中IMAGE欄位轉換成JPG文件
不用管什麼圖像格式,全部當作二進制文件。
顯示的時候,不要用 TDBImage(除非你要編輯此圖像) 用Image
保存到sql
var
TheStream : TMemoryStream;
begin
....
TheStream.LoadFromFile(...);
...
TBlobFiled(Table1.FieldByname(...)).LoadFromStream(TheStream);
....
end;
或者 TBlobFiled(Table1.FieldByname(...)).LoadFromFile(TheFile);
讀出 使用 TBlobField(...).SaveToStream; or .SaveToFile;
希望對你有用!
2. 如何把SQLServer表數據導出為Excel文件
SQLServer表數據導出為Excel文件的方法(SqlServer 2008為例):
1、選擇資料庫,啟動導入和導出向導
8、然後一直點「下一步」按鈕就可以了。
3. sql中image可以導出到excel嗎
可以導成Access格式,我前段時間為了轉移保存數據,就把SLQ Server2000里的數據 轉成Access存在另一台機子里
4. 求助:如何將SQL裡面的image欄位導出到EXCEL顯示為圖片
image列以二進制的形式存儲的,sql不能實現直接顯示在EXCEL中,一般要通過程序開發語言在前端實現;
但可以考慮以html格式保存,這樣image上傳到了伺服器端,這樣直接復制到excel是可以顯示html頁面的。
5. C#從資料庫中導入導出文本文件image數據類型該如何處理
你要把二進制流轉換一下
string baser64str = Convert.ToBase64String(byteImage);
6. SQL Server裡面如何導出包含數據的SQL腳本
因為SQL Server並不包含這個功能,只能靠第三方的代碼了。
以下存儲過程可以實現:CREATEPROCEDUREdbo.UspOutputData@tablenamesysnameASdeclare@columnvarchar(1000)declare
@columndatavarchar(1000)declare@sqlvarchar(4000)declare@xtypetinyintdeclare@namesysnamedeclare@objectIdintdeclare
@objectnamesysnamedeclare@identintsetnocountonset@objectId=object_id(@tablename)if@objectIdisnull--判斷對象是否存在beginprint'Theobjectnotexists'returnendset
@objectname=rtrim(object_name(@objectId))if
@objectnameisnullorcharindex(@objectname,
@tablename)=0--此判斷不嚴密beginprint'objectnotincurrentdatabase'returnendif
OBJECTPROPERTY(@objectId,'IsTable')<1--判斷對象是否是tablebeginprint'Theobjectisnottable'returnendselect@ident=status&0x80fromsyscolumnswhereid=@objectidandstatus&0x80=0x80if@identisnotnullprint'SETIDENTITY_INSERT'+@TableName+'ON'declaresyscolumns_cursorcursorforselect
c.name,c.xtypefromsyscolumnscwhere
c.id=@objectidorderby
c.colidopensyscolumns_cursorset@column=''set
@columndata=''fetchnextfromsyscolumns_cursorinto@name,
@xtypewhile
@@fetch_status<-1beginif
@@fetch_status<-2beginif@xtypenotin(189,34,35,99,98)--timestamp不需處理,image,text,ntext,sql_variant暫時不處理beginset@column=@column+casewhenlen(@column)=0then''else','end+@nameset
@columndata=@columndata+casewhenlen(@columndata)=0then''else','','','end+casewhen@xtypein(167,
175)then'''''''''+'+@name+'+'''''''''--varchar,charwhen@xtypein(231,
239)then'''N''''''+'+@name+'+'''''''''--nvarchar,ncharwhen@xtype=61then'''''''''+convert(char(23),'+@name+'
,121)+'''''''''--datetimewhen@xtype=58then'''''''''+convert(char(16),'+@name+'
,120)+'''''''''--smalldatetimewhen@xtype=36then'''''''''+convert(char(36),'+@name+')+'''''''''--uniqueidentifierelse@_cursorinto@name,
@xtypeendclosesyscolumns_cursordeallocatesyscolumns_cursorset@sql='setnocountonselect''insert'+@tablename+'('+@column+')values(''as''--'','+@columndata+','')''from'+@tablenameprint'--'+@sqlexec(@sql)if@identisnotnullprint'SETIDENTITY_INSERT'+@TableName+'OFF'GO使用方法:
exec UspOutputData 你的表名
選擇【執行模式】為以文本顯示結果,然後將運行後的結果存成.sql,加上用SQL Server生成的資料庫腳本就可以了。
另外可以利用第三方工具,導出數據可以用powerbuilder。
7. 請問sybase資料庫中的圖片(image類型)如何批量導出jpg文件到硬碟上我用bcp到處的是一大串字元
bcp -n試試
8. 如何將sqlserver表中 image格式的照片導出到文件夾
mage格式都轉換了。所以直接從sqlserver 導出是得不到照片的。
利用前台程序,提取image格式的文件,然後轉換成對應的照片。然後再導出。才能得到你要的效果。
前提,Image存的是照片對應的二進制文件!
9. sqlserver 用命令如何導入導出表結構和表數據
平常從SQLSERVER中進行導入導出時,我們利用SQLSERVER中自帶的DTS轉換工具即可,很方便。但有些特殊的用法需要用語句進行導入導出,工作中碰到這種情況,查了些資料,下面詳細介紹:
一、從excel表導入到SQLSERVER use test go select * into test_table from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\11.xls;','select * from [結果$]') --1.通過Sql Server查詢分析器查詢D:\abc.xls 裡面表 sheet1 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] --2.如果表a存在,並且表a的結構與上一步的查詢的結構一樣 可以使用 insert into a SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] --3.如果表a不存在,使用into a SELECT * into a FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 說明:test_table為SQLSERVER資料庫中的表,11.xls是EXCEL表,[結果$]是EXCEL表中的工作表,注意寫法是工作表名加上$符號。 2從SQLSERVER資料庫中導出到EXCEL(一般用語句導庫是在應用程序中,利用各種語言實現,如果不做開發項目,用DTS就很好了,在 SQLSERVER查詢器中利用單條SQL語句實現導入導出不方便,類型轉換是個問題,不好解決) 第一種,無法導入欄位名:(excel表不存在,新建) EXEC master..xp_cmdshell 'bcp zhou.dbo.資料庫表名 out "c:\test.xls" /c /S "伺服器名" /U "用戶名" -P "密碼" ' 第二種,excel文件已存在,要手工把表欄位名填到excel文件中去,再執行下面: insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 8.0;HDR=YES;DATABASE=c:\文件名.xls',sheet1$) select * from 表名 第三種,想實現全自動轉欄位名和記錄,一條語句實現不了,要用到過程,當然如果要做一個自動轉換程序,用VB或者VC語言也可實現。 把下面的過程全拷入SQLSERVER查詢分析器,執行,生成一個過程,過程名為:p_exporttb,然後按應用例子執行過程就OK了,自 動導表 /*******************************/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcere') = 1) drop procere [dbo].[p_exporttb] GO create proc p_exporttb @sqlstr varchar(8000), --查詢語句,如果查詢語句中使用了order by ,請加上top 100 percent @path nvarchar(1000), --文件存放目錄 @fname nvarchar(250), --文件名 @sheetname varchar(250)='' --要創建的工作表名,默認為文件名 as declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000) --參數檢測 if isnull(@fname,'')='' set @fname='temp.xls' if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#') --檢查文件是否已經存在 if right(@path,1)<>'\' set @path=@path+'\' create table #tb(a bit,b bit,c bit) set @sql=@path+@fname insert into #tb exec master..xp_fileexist @sql --資料庫創建語句 set @sql=@path+@fname if exists(select 1 from #tb where a=1) set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE' +';CREATE_DB="'+@sql+'";DBQ='+@sql else set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES' +';DATABASE='+@sql+'"' --連接資料庫 exec @err=sp_oacreate 'adodb.connection',@obj out if @err<>0 goto lberr exec @err=sp_oamethod @obj,'open',null,@constr if @err<>0 goto lberr --創建表的SQL declare @tbname sysname set @tbname='##tmp_'+convert(varchar(38),newid()) set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a' exec(@sql) select @sql='',@fdlist='' select @fdlist=@fdlist+',['+a.name+']' ,@sql=@sql+',['+a.name+'] ' +case when b.name like '%char' then case when a.length>255 then 'memo' else 'text('+cast(a.length as varchar)+')' end when b.name like '%int' or b.name='bit' then 'int' when b.name like '%datetime' then 'datetime' when b.name like '%money' then 'money' when b.name like '%text' then 'memo' else b.name end FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype where b.name not in('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp') and a.id=(select id from tempdb..sysobjects where name=@tbname) if @@rowcount=0 return select @sql='create table ['+@sheetname +']('+substring(@sql,2,8000)+')' ,@fdlist=substring(@fdlist,2,8000) exec @err=sp_oamethod @obj,'execute',@out out,@sql if @err<>0 goto lberr exec @err=sp_oadestroy @obj --導入數據 set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES ;DATABASE='+@path+@fname+''',['+@sheetname+'$])' exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbname+']') set @sql='drop table ['+@tbname+']' exec(@sql) return lberr: exec sp_oageterrorinfo 0,@src out,@desc out lbexit: select cast(@err as varbinary(4)) as 錯誤號 ,@src as 錯誤源,@desc as 錯誤描述 select @sql,@constr,@fdlist go /*******************應用例子***************************/ p_exporttb @sqlstr='select * from 貸款大戶表' ,@path='c:\',@fname='aa.xls',@sheetname='貸款大戶表'
10. 您好,在嗎,有個從sql中將image類型的文件導出的問題想請教一下您
--創建一個存儲過程,輸入路徑,然後執行導出
CreateProcere[dbo].[sp_Download](@pathVarchar(2000))
As
Begin
Declare@Appint
Declare@IDint
Declare@resultint
Declare@filenameVarchar(100)
Declare@filesVarBinary(max)
Declare@fielpathVarchar(400)
if(Right(@path,1)<>'')
Set@path=@path+''
--myFile是你的表filename是你的文件名files是你的二進制文件
DECLARECurCURSORFOR
SelectID,filename,
OPENCur
FETCHNEXTFROMCurINTO@ID,@filename,@files
WHILE@@FETCH_STATUS=0
BEGIN
Set@fielpath=@path+@filename
Execsp_OACreate'ADODB.Stream',@AppOUT
Execsp_OASetProperty@App,'Mode',3
Execsp_OASetProperty@App,'Type',1
EXECsp_OAMethod@App,'Open'
Execsp_OAMethod@App,'Write',null,@files
Execsp_OAMethod@App,'SaveToFile',null,@fielpath,2
Execsp_OADestroy@App
FETCHNEXTFROMCurINTO@ID,@filename,@files
End
CLOSECur
DEALLOCATECur
End