当前位置:首页 » 编程语言 » sql数据库存长文件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据库存长文件

发布时间: 2022-06-24 21:25:25

Ⅰ 如何完全用sql语句,将文件存到数据库

SQL Server 2005:

通过OPENROWSET和bcp:
---示例1:
--SQLServerimportimage-SQLServerexportimage--ExtractimageSQLServer-SQLServerexportbinarydata
USEAdventureWorks;
GO

--
CREATETABLEdbo.PhotoLibrary(
PhotoLibraryIDINTIDENTITY(1,1)PRIMARYKEY,
ImageNameVARCHAR(100),
PhotoVARBINARY(MAX))
GO

--SQLServerimportimage-
INSERTINTOdbo.PhotoLibrary
([ImageName])
VALUES('MadisonAVE.JPG')
UPDATEdbo.PhotoLibrary
SETPhoto=(SELECT*
FROMOPENROWSET(BULK'e:imagephotoMadisonAVE.JPG',--源文件地址
SINGLE_BLOB)ASx)
WHERE[ImageName]='MadisonAVE.JPG'
GO

--Checktablepopulation
SELECT*
FROMdbo.PhotoLibrary
GO

--SQLServerexportimage
DECLARE@CommandNVARCHAR(4000)

--KeepthecommandonONELINE-SINGLELINE!!!-brokenhereforpresentation
SET@Command='bcp"SELECTPhotoFROMAdventureWorks.dbo.PhotoLibrary"
queryout"e:imagephotoexpMadisonAVE.jpg"-T-n-SPRODSQL2005'
PRINT@Command--debugging
EXECxp_cmdshell@Command
GO---示例2:
-------------T-
--导出所有的图象到文件
--Sourcetable:Proction.ProctPhoto-Destination:K:dataimagesproctphoto
--来源表Proction.ProctPhoto目标:K:dataimagesproctphoto
------------

USEAdventureWorks2008;
GO

DECLARE@CommandVARCHAR(4000),
@PhotoIDINT,
@ImageFileNameVARCHAR(128)
DECLAREcurPhotoImageCURSORFOR--Cursorforeachimageintable
SELECTProctPhotoID,
LargePhotoFileName
FROMProction.ProctPhoto
WHERELargePhotoFileName!='no_image_available_large.gif'
OPENcurPhotoImage
FETCHNEXTFROMcurPhotoImage
INTO@PhotoID,
@ImageFileName
WHILE(@@FETCH_STATUS=0)--Cursorloop
BEGIN

--KeepthebcpcommandonONELINE-SINGLELINE!!!-brokenupforpresentation
SET@Command='bcp"SELECTLargePhotoFROM
AdventureWorks2008.Proction.ProctPhotoWHEREProctPhotoID='+
convert(VARCHAR,@PhotoID)+'"queryout"K:dataimagesproctphoto'+
@ImageFileName+'"-T-n-SHPESTAR'
PRINT@Command–debugging

/*bcp".Proction.ProctPhoto
WHEREProctPhotoID=69"queryout
"K:dataimagesproctphoto acer02_black_f_large.gif"-T-n-SHPESTAR
*/

EXECxp_cmdshell@Command--
FETCHNEXTFROMcurPhotoImage
INTO@PhotoID,
@ImageFileName
END--cursorloop
CLOSEcurPhotoImage
DEALLOCATEcurPhotoImage

/*output
NULL
Starting...
NULL
1rowscopied.
Networkpacketsize(bytes):4096
ClockTime(ms.)Total:16Average:(62.50rowspersec.)
NULL
.....
*/

------------

Ⅱ sql数据库最多可以存放多少数据,到达上限!

sql数据库可以达到的容量上线,一般是和文件系统的上限是一致的,也就是说数据库能承载的容量一般比文件系统都大。
不用考虑数据记录的数量,上千万,上亿,都可以,只要文件存储容量小于文件系统的上限都没有问题。

Ⅲ 怎样将SQL Sever数据库保存到指定的文件夹

新建数据库时,
常规----设置数据库名称
数据文件----选择数据库文件存储地方
事务日志----选择事物日志文件存储地方
如果已经建好了,在数据库上右建--所有任务--分离数据库
然后把数据库的mdf和ldf文件剪切到指定文件夹,再右键附加数据库即可.

Ⅳ SQL数据库文件的最大容量是多少

SQLSERVER2000技术规格

--------------系统技术规格---------------

--每个服务器最多可以允许16个SQLSERVER实例

--每个实例可拥有 2147483467 个锁

--------------数据库技术规格--------------

--SQLSERVER的数据库大小1048516TB

--每个数据库可拥有的文件组数32767

--每个数据库可拥有的文件组数256

--文件大小(数据文件)32TB ---

--文件大小(日志文件)32TB ---

--数据库中的对象数2 147 483 647

--标识符的长度128

--------------表技术规格-------------------

--每个数据库中可拥有的表数受限于数据库中的对象数

--每个表可拥有的行数受限于可用的存储容量

--每个表的主键约束数1

--每个表的外键约束数253

--每个表的引用数253

--每个表的触发器数受限于数据库中的对象数

--每个表的簇索引数1

--每个表的非簇索引数249

--每个表的唯一约束249非簇的,1成簇的

--------------列技术规格-------------------

--每个索引可包含的列数16

--每个主键可包含的列数16

--每个外键可包含的列数16

--每个表的列数1024

--索引键的大小900字节

--每个character或binary列的字节数8000

--每个text,ntext或image列的字节数2GB-2

--每行的字节数8060

--每个索引的字节数900

--每个主键的字节数900

--每个外键的字节数900

--------------SQL技术规格-------------------

--批处理大小65536乘以网络包大小

--每个SELECT语句可处理的表数256

--存储过程源文件的字节数小于批处理大小或250MB

--每个存储过程的参数数目1024

--嵌套的子查询数32

--嵌套的触发器层数32

--每个SELECT语句可处理的列数4096

--每个INSERT语句可处理的列数1024

Ⅳ sql2000我在数据库中存很长的文章用什么类型

text

Ⅵ sql数据库文件存放在哪

如果是 sql2005的话
后缀为 .mdf 或 .ldf 的 你可以选择 数据库右键的属性找到文件组路径

Ⅶ 请问SQL数据库中,能存放很长文本的字段类型是什么

BLOB :大数据类型,最大存储65K,不可以被导出,只能在oracle数据库中进行查看。

扩展: BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。

Ⅷ 如何向sql server数据库中存入文件,如压缩包、excel文件等。

一般都只保存文件路径,文件通过网络上传到服务器的指定目录

或者可以把文件解析成字节数组,转成字符串保存

Ⅸ sql2005 数据库文件太大,怎么备份比较快

1、shutdown
2、复制数据文件
3、重启服务