C# 将pdf文件存储在数据库中

C# 将pdf文件存储在数据库中,c#,database,postgresql,pdf,C#,Database,Postgresql,Pdf,我想设计一个C#应用程序来存储员工数据,我有大约500名员工。我还想存储每位员工的pdf扫描档案。我计划使用PostgreSQL。在数据库中存储pdf扫描的配置文件是否可行?是否需要使用 BLB< 数据类型? < P>是的,您需要将它们保存为BLB对象或ByType或文本类型,并且需要考虑PigGrES限制。对于blob,每个条目限制2G,每个数据库限制40亿,对于bytea或text,每个条目限制1G,每个表限制40亿个条目,但是如果我是你,我将在数据库“此PDF位于本地文件系统中的位置”中保

我想设计一个C#应用程序来存储员工数据,我有大约500名员工。我还想存储每位员工的pdf扫描档案。我计划使用
PostgreSQL
。在数据库中存储pdf扫描的配置文件是否可行?是否需要使用<代码> BLB< <代码>数据类型?

< P>是的,您需要将它们保存为BLB对象或ByType或文本类型,并且需要考虑PigGrES限制。对于blob,每个条目限制2G,每个数据库限制40亿,对于bytea或text,每个条目限制1G,每个表限制40亿个条目,但是如果我是你,我将在数据库“此PDF位于本地文件系统中的位置”中保存对该文件的引用,一旦需要,你将流式处理该文件


对于PostgreSQL限制,请检查以下链接

是的,您需要将它们保存为BLB对象或BYTEA或文本类型,并且需要考虑Postgres的限制。对于blob,每个条目限制2G,每个数据库限制40亿,对于bytea或text,每个条目限制1G,每个表限制40亿个条目,但是如果我是你,我将在数据库“此PDF位于本地文件系统中的位置”中保存对该文件的引用,一旦需要,你将流式处理该文件


对于PostgreSQL限制,请检查以下链接,假设PDF不会太大(我假设可能小于5MB),则可以。您应该为此使用类型


阅读更多关于如何使用的信息(滚动到使用二进制数据和bytea数据类型)

假设PDF不会很大(我假设可能小于5MB),那么就可以了。您应该为此使用类型


阅读有关如何使用的更多信息(滚动到使用二进制数据和bytea数据类型)

您真的需要将它们存储在数据库中吗?它可以迅速成长。您是否可以不将其存储在本地,而是存储到它们的文件路径?主题无关,但是否已通知员工,他们的信息将存储在数据库中,而不是存储在纸上?非常类似:您真的需要将其存储在数据库中吗?它可以迅速成长。您是否可以不将其存储在本地,而是存储到它们的文件路径?与主题无关,但是否已通知员工,他们的信息将存储在数据库中而不是纸上?非常类似:但您需要在发送到DB之前对二进制数据进行转义/编码,然后在检索数据后执行相反的操作,这是要处理的额外缓冲区和要从C#true分配的缓冲区,但至少您需要编码和解码,每次您想要使用此文件时,如果您在大型环境中频繁访问此文件,可能会出现问题。不,驱动程序会为您这样做。如果大小不大,则可以。如果它们要大得多(10s或100s MB),则最好使用
lo
和大型对象,或者数据库外的存储。你暗示了这一点,但没有说出来,所以我想我应该把它说清楚。但是你需要在发送到DB之前对二进制数据进行转义/编码,然后在检索数据之后进行相反的操作,这是要处理的额外缓冲区和要从C#true分配的缓冲区,但至少你需要编码和解码,每次您想使用此文件时,如果您在大型环境中频繁访问此文件,可能会出现问题。否,驱动程序将为您执行此操作。如果大小不大,则可以。如果它们要大得多(10s或100s MB),则最好使用
lo
和大型对象,或者数据库外的存储。你暗示了这一点,但没有说出来,所以我想我应该把它说清楚。