當前位置:首頁 » 編程語言 » sql中存儲圖片
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中存儲圖片

發布時間: 2022-08-17 19:39:31

sql資料庫中如何存放圖片相對路徑(不用代碼)

1、在打開【SQL Server Managemenet Studio】窗口,在【對象資源管理器】窗口依次站看【資料庫】——【新建的資料庫】節點。

Ⅱ sql2008中怎樣存放圖片

二種方式來存放圖片:

先建立數據表imagetable(表所在資料庫為tempdb)

create table imagetable
(
imagefile nvarchar(200),
imagedata varbinary(max)
)


  1. 在程序中讀取位元組流後,再插入到資料庫

讀取文件二進制數據格式內容

byte[] imagebytes =null;

stringfullpath = @"E:iWorkspaceImages est.gif";

FileStreamfs =newFileStream(fullpath,FileMode.Open,FileAccess.Read);

BinaryReaderbr =newBinaryReader(fs);

imagebytes = br.ReadBytes(fs.Length);

插入到數據表:

cmd.CommandText =@" insert into imagetable values (@imagefile, @imagedata)";

cmd.Parameters.AddWithValue("@imagefile",fullpath);

cmd.Parameters.AddWithValue("@imagedata",imagebytes);

cmd.ExecuteNonQuery();

2. 如果文件本身和SQL在同一台機器上,則可使用OPENROWSET來讀取文件

INSERT INTO imagetable(imagefile,imagedata)
SELECT 'filepath',* FROM
OPENROWSET(BULK N'E:iWorkspaceImages est.gif', SINGLE_BLOB) AS Photo

註:獲取BLOB欄位後必須用欄位別名命名,如 As Photo,否則會有以下錯誤:必須在 FROM 子句中為大容量行集指定相關名稱。

Ⅲ SQL資料庫中如何存儲圖片和讀取

要看你用哪種語言,但是流程都差不多。都是把圖片變成留,然後變成位元組數組,然後再保存到資料庫裡面去。存地址確實是個辦法,但是卻不實用。

Ⅳ 怎麼在SQL中保存圖片

/*--bcp 實現二進制文件的導入導出

支持image,text,ntext欄位的導入/導出
image適合於二進制文件,包括:Word文檔,Excel文檔,圖片,音樂等
text,ntext適合於文本數據文件

注意:導入時,將覆蓋滿足條件的所有行
導出時,將把所有滿足條件的行導出到指定文件中

此存儲過程僅用bcp實現
鄒建 2003.08-----------------*/

/*--調用示例
--數據導出
exec p_binaryIO 'zj','','','acc_演示數據..tb','img','c:\zj1.dat'

--數據導入
exec p_binaryIO 'zj','','','acc_演示數據..tb','img','c:\zj1.dat','',0
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_binaryIO]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[p_binaryIO]
GO

Create proc p_binaryIO
@servename varchar (30),--伺服器名稱
@username varchar (30), --用戶名
@password varchar (30),--密碼
@tbname varchar (500), --資料庫..表名
@fdname varchar (30), --欄位名
@fname varchar (1000),--目錄+文件名,處理過程中要使用/覆蓋:@filename+_temp
@tj varchar (1000)='', --處理條件.對於數據導入,如果條件中包含@fdname,請指定表名前綴
@isout bit=1--1導出((默認),0導入
AS
declare @fname_in varchar(1000)--bcp處理應答文件名
,@fsize varchar(20)--要處理的文件的大小
,@m_tbname varchar(50)--臨時表名
,@sql varchar(8000)

--則取得導入文件的大小
if @isout=1
set @fsize='0'
else
begin
create table #tb(可選名 varchar(20),大小 int
,創建日期 varchar(10),創建時間 varchar(20)
,上次寫操作日期 varchar(10),上次寫操作時間 varchar(20)
,上次訪問日期 varchar(10),上次訪問時間 varchar(20),特性 int)
insert into #tb
exec master..xp_getfiledetails @fname
select @fsize=大小 from #tb
drop table #tb
if @fsize is null
begin
print '文件未找到'
return
end

end

--生成數據處理應答文件
set @m_tbname='[##temp'+cast(newid() as varchar(40))+']'
set @sql='select * into '+@m_tbname+' from(
select null as 類型
union all select 0 as 前綴
union all select '+@fsize+' as 長度
union all select null as 結束
union all select null as 格式
) a'
exec(@sql)
select @fname_in=@fname+'_temp'
,@sql='bcp "'+@m_tbname+'" out "'+@fname_in
+'" /S"'+@servename
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')+'" /c'
exec master..xp_cmdshell @sql
--刪除臨時表
set @sql='drop table '+@m_tbname
exec(@sql)

if @isout=1
begin
set @sql='bcp "select top 1 '+@fdname+' from '
+@tbname+case isnull(@tj,'') when '' then ''
else ' where '+@tj end
+'" queryout "'+@fname
+'" /S"'+@servename
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')
+'" /i"'+@fname_in+'"'
exec master..xp_cmdshell @sql
end
else
begin
--為數據導入准備臨時表
set @sql='select top 0 '+@fdname+' into '
+@m_tbname+' from ' +@tbname
exec(@sql)

--將數據導入到臨時表
set @sql='bcp "'+@m_tbname+'" in "'+@fname
+'" /S"'+@servename
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')
+'" /i"'+@fname_in+'"'
exec master..xp_cmdshell @sql

--將數據導入到正式表中
set @sql='update '+@tbname
+' set '+@fdname+'=b.'+@fdname
+' from '+@tbname+' a,'
+@m_tbname+' b'
+case isnull(@tj,'') when '' then ''
else ' where '+@tj end
exec(@sql)

--刪除數據處理臨時表
set @sql='drop table '+@m_tbname
end

--刪除數據處理應答文件
set @sql='del '+@fname_in
exec master..xp_cmdshell @sql

go

Ⅳ 請問在mysql中怎麼存儲圖片呢

我一般是保存圖片地址,查詢資料庫獲得圖片在硬碟的位置,通過其他方式顯示圖片

相對路徑就不太清楚了,您可以試試設置環境變數,或者%HOME%之類的代碼

Ⅵ SQL資料庫中能存照片嗎

數據中可以存儲圖片,但是需要注意不能直接存儲圖片,而是轉換成二進制或者Base64等的「文本」來存儲,在用的時候,可以再轉換回來。

在網站開發中,一般將圖片存儲在文件系統中,而不是數據系統中,資料庫系統中只記錄圖片在文件系統中的路徑而已。

拓展資料:

SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的資料庫均支持SQL。

網路_SQL資料庫

Ⅶ 如何在sql server中存儲圖片

1、首先可以存儲圖片鏈接,設置圖片鏈接欄位,如下圖所示。

Ⅷ sql server 中的image數據類型。怎麼存儲8張圖片

1、首先打開SQL Server後,選擇資料庫,點擊頂部的新建查詢按鈕,如下圖所示。

Ⅸ SQL中,存儲圖片用哪種類型

上傳圖片一般不存放到資料庫中,非要存儲可選擇BOLB之類的類型