将记录存储在数据库中 [英] Store record in database

查看:93
本文介绍了将记录存储在数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿伙计们,

主目录

子目录1

文件(图像,Excel,Word,文本,PDF)

子目录2

文件(图像,Excel,Word,文本,PDF)

子目录2

文件(图像,Excel,Word,文本,PDF)

子目录2

文件(图像,Excel,Word,文本,PDF)



在这里,我想将每个子目录中的每个文件存储到SQL Server Management Studio中。

任何人都可以告诉我该怎么做。



谢谢。



我尝试过:



Hey guys,
Main Directory
sub directory 1
Files(Images, Excel, Word, Text, PDF)
sub directory 2
Files(Images, Excel, Word, Text, PDF)
sub directory 2
Files(Images, Excel, Word, Text, PDF)
sub directory 2
Files(Images, Excel, Word, Text, PDF)

Here, I want to store each Files in each sub directory into SQL Server Management Studio.
Can anyone tell me how to do it.

Thanks.

What I have tried:

USE DB
GO
CREATE TABLE Test1(
Name nvarchar(255) NOT Null, 
Type nvarchar(255) Null, 
BinaryData varbinary(Max) Null, 
Primary Key(Name)
) ON [PRIMARY] 
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 
GO 
--PDF file
Insert Test1([Name],[Type],[BinaryData]) 
Select 'detail1.pdf','PDF file', BulkColumn from Openrowset( Bulk 
'C:\Database\detail1.pdf', Single_Blob) as DATA
Insert Test1([Name],[Type],[BinaryData]) 
Select 'detail2.pdf','PDF file', BulkColumn from Openrowset( Bulk 
'C:\Database\detail2.pdf', Single_Blob) as DATA
Insert Test1([Name],[Type],[BinaryData]) 
Select 'detail1.pdf','PDF file', BulkColumn from Openrowset( Bulk 
'C:\Database\detail3.pdf', Single_Blob) as DATA
Insert Test1([Name],[Type],[BinaryData]) 
Select 'detail1.pdf','PDF file', BulkColumn from Openrowset( Bulk 
'C:\Database\detail4.pdf', Single_Blob) as DATA

--Image file
Insert Test1([Name],[Type],[BinaryData]) 
Select 'image1.png','imagefile', BulkColumn from Openrowset( Bulk 
'C:\Database\image1.png', Single_Blob) as DATA
Insert Test1([Name],[Type],[BinaryData]) 
Select 'image2.png','imagefile', BulkColumn from Openrowset( Bulk 
'C:\Database\image2.png', Single_Blob) as DATA

--Doc file
Insert Test1([Name],[Type],[BinaryData]) 
Select 'doc1.doc','Docfile', BulkColumn from Openrowset( Bulk 
'C:\Database\doc1.doc', Single_Blob) as DATA
Insert Test1([Name],[Type],[BinaryData]) 
Select 'doc2.doc','Docfile', BulkColumn from Openrowset( Bulk 
'C:\Database\doc2.doc', Single_Blob) as DATA

--Text File
Insert Test1([Name],[Type],[BinaryData]) 
Select 'contain.txt','TextFile', BulkColumn from Openrowset( Bulk 
'C:\Database\contain.txt', Single_Blob) as DATA

推荐答案

我想我已经理解了你的问题。我虽然没有找到你的答案。无论如何,



如果你想自动化这个过程,你需要做一些工作。

1.写一个脚本(棒球,或者python怎么样?)可以读取给定目录下的文件列表,并且可以生成一个等同于当前硬编码脚本的脚本。

2.执行新生成的脚本将数据转储到数据库中。



我想识别的几个问题:

- >我问过你的数据大小和你选择的数据库。原因是知道您的数据库是否可以处理该卷非常重要。



如果您的数据库将是Microsoft Access,那将是一个脚步。
I think I have understood your problem. I haven't found some answer from you though. Anyway,

If you want to automate this process, you need to do some work.
1. Write a script(bat, or how about python?) that can read file list under a given directory and can generate a script which is equivalent to your currently hard coded script.
2. Execute the newly generated script to dump data into your database.

few issues I want to identify:
-> I asked you about your data size and your chosen database. The reason is it is important to know whether your database can handle the volume or not.

If your db is going to be Microsoft Access that is going to be a shot in the foot.


这篇关于将记录存储在数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆