Postgresql+Access的问题
我将某一段文本存入数据库,结果报错,因为文本之中的‘很多。于是,我将这段文本编译成base64格式,存入数据库,成功。取出来的时候,文本再转变回来。现在的问题是,转换而成...
我将某一段文本存入数据库,结果报错,因为文本之中的‘很多。
于是,我将这段文本编译成base64格式,存入数据库,成功。取出来的时候,文本再转变回来。
现在的问题是,转换而成的base64文件实在是太大,当我想将文件存入Access时,由于文本长度大于10W,即便是Access的备注类型,也装不下了。
请教该问题,该如何解决?
在我个人来说的话,采用OLE对象比较合适。
这个是先将数据保存为记事本,再将记事本文件转化为IO流存入数据库? 展开
于是,我将这段文本编译成base64格式,存入数据库,成功。取出来的时候,文本再转变回来。
现在的问题是,转换而成的base64文件实在是太大,当我想将文件存入Access时,由于文本长度大于10W,即便是Access的备注类型,也装不下了。
请教该问题,该如何解决?
在我个人来说的话,采用OLE对象比较合适。
这个是先将数据保存为记事本,再将记事本文件转化为IO流存入数据库? 展开
1个回答
展开全部
方案一:
如果 base64 转换前的大小, 小于 备注字段 上限的话.
那么还是可以直接插入的.
因为文本之中的‘很多, 可以通过 两个 ' 也就是 '' 来转义,使之成功的通过 SQL 语句,插入到表中。
方案二:
如果 base64 转换前的大小, 就大于 备注字段的上限了,那么尝试使用下面数据类型的一种:
OLE 对象
Microsoft Access 表中链接 (OLE/DDE 链接:OLE 对象及其 OLE 服务器之间,或动态数据交换 (DDE) 的源文档与目标文档之间的一种连接。)或嵌入 (嵌入:用于插入来自其他应用程序的 OLE 对象的副本。源对象称为 OLE 服务器端,可以是任意支持链接和嵌入对象的应用程序。对嵌入式对象的更改不会反映在原对象中。)的对象(例如 Microsoft Excel 电子表格、Microsoft Word 文档、图形、声音或其他二进制数据)。 最多为 1 G 字节(受可用磁盘空间限制)。
超链接
文本或文本和以文本形式存储的数字的组合,用作超链接地址 (超链接地址:指向诸如对象、文档或网页等目标的路径。超链接地址可以是 URL(Internet 或 Intranet 网站的地址),也可以是 UNC 网络路径(局域网上的文件的地址)。)。超链接地址最多包含三部分:
显示的文本:在字段或控件中显示的文本。
地址:指向文件(UNC 路径 (通用命名约定 (UNC):一种对文件的命名约定,它提供了独立于机器的文件定位方式。UNC 名称使用 \\server\share\path\filename 这一语法格式,而不是指定驱动器符和路径。))或页(URL (统一资源定位符 (URL):一种地址,指定协议(如 HTTP 或 FTP)以及对象、文档、万维网网页或其他目标在 Internet 或 Intranet 上的位置,例如:http://www.microsoft.com/。))的路径。
子地址:位于文件或页中的地址。
屏幕提示:作为工具提示显示的文本。
超链接 (“超链接”数据类型:存储超链接地址的 Access 数据库字段的数据类型。地址最多可以包含四部分,用以下语法格式编写:displaytext#address#subaddress#。)数据类型三个部分中的每一部分最多只能包含 2048 个字符。
附件 任何支持的文件类型 可以将图像、电子表格文件、文档、图表和其他类型的支持文件附加到数据库的记录,这与将文件附加到电子邮件非常类似。还可以查看和编辑附加的文件,具体取决于数据库设计者对附件字段的设置方式。“附件”字段和“OLE 对象”字段相比,有着更大的灵活性,而且可以更高效地使用存储空间,这是因为“附件”字段不用创建原始文件的位图图像。
如果 base64 转换前的大小, 小于 备注字段 上限的话.
那么还是可以直接插入的.
因为文本之中的‘很多, 可以通过 两个 ' 也就是 '' 来转义,使之成功的通过 SQL 语句,插入到表中。
方案二:
如果 base64 转换前的大小, 就大于 备注字段的上限了,那么尝试使用下面数据类型的一种:
OLE 对象
Microsoft Access 表中链接 (OLE/DDE 链接:OLE 对象及其 OLE 服务器之间,或动态数据交换 (DDE) 的源文档与目标文档之间的一种连接。)或嵌入 (嵌入:用于插入来自其他应用程序的 OLE 对象的副本。源对象称为 OLE 服务器端,可以是任意支持链接和嵌入对象的应用程序。对嵌入式对象的更改不会反映在原对象中。)的对象(例如 Microsoft Excel 电子表格、Microsoft Word 文档、图形、声音或其他二进制数据)。 最多为 1 G 字节(受可用磁盘空间限制)。
超链接
文本或文本和以文本形式存储的数字的组合,用作超链接地址 (超链接地址:指向诸如对象、文档或网页等目标的路径。超链接地址可以是 URL(Internet 或 Intranet 网站的地址),也可以是 UNC 网络路径(局域网上的文件的地址)。)。超链接地址最多包含三部分:
显示的文本:在字段或控件中显示的文本。
地址:指向文件(UNC 路径 (通用命名约定 (UNC):一种对文件的命名约定,它提供了独立于机器的文件定位方式。UNC 名称使用 \\server\share\path\filename 这一语法格式,而不是指定驱动器符和路径。))或页(URL (统一资源定位符 (URL):一种地址,指定协议(如 HTTP 或 FTP)以及对象、文档、万维网网页或其他目标在 Internet 或 Intranet 上的位置,例如:http://www.microsoft.com/。))的路径。
子地址:位于文件或页中的地址。
屏幕提示:作为工具提示显示的文本。
超链接 (“超链接”数据类型:存储超链接地址的 Access 数据库字段的数据类型。地址最多可以包含四部分,用以下语法格式编写:displaytext#address#subaddress#。)数据类型三个部分中的每一部分最多只能包含 2048 个字符。
附件 任何支持的文件类型 可以将图像、电子表格文件、文档、图表和其他类型的支持文件附加到数据库的记录,这与将文件附加到电子邮件非常类似。还可以查看和编辑附加的文件,具体取决于数据库设计者对附件字段的设置方式。“附件”字段和“OLE 对象”字段相比,有着更大的灵活性,而且可以更高效地使用存储空间,这是因为“附件”字段不用创建原始文件的位图图像。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询