问题标签 [bytea]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - Postgresql plperlu 和编码
我想在 plperlu 中生成 PDF,将其存储在数据库中,然后将其作为附件添加到电子邮件中。
我正在使用 PDF::Report 来生成 PDF。代码如下所示:-
我认为这个错误与invalid input syntax for type bytea
创建的 PDF 文档的编码有关。
文档本身很好,因为$pdf->saveAs('/tmp/test.pdf');
它创建了一个完全可读的文档。
我在返回结果之前尝试了 base64 编码,因为电子邮件的附件需要在 base64 中。
这消除了错误,然后我可以将它存储在一个表中: -
这也可以正常工作,并且可以附加到电子邮件中,但是在 base64 解码后损坏问题仍然存在。
直接从数据库中导出文件并运行仅在一行之后base64 -d test.b64
就会出现错误。invalid input
这似乎与 postgres 处理 bytea 的方式有关,因为文件如下所示:-
有很多 \012 分隔符。
任何想法,我一直在这几个小时,完全被难住了。
java - 如何将 Java 中的字节存储到 PostgreSQL 中的字节中?
当我尝试将 Java 中的“byte”类型的变量插入 PostgreSQL 中的“bytea”类型的变量时,我遇到了问题。
这是我在 postgresql 中的表:
我的Java代码如下:
台面类型有:
然后,当我尝试插入一些东西时,它会抛出一个 PSQLException ,指出列 "som" 是 "bytea" 但表达式是 "smallint"。我还认为它会在那之后的以下两行中具有相同的 SQLException。
所以我不知道如何解决这个问题,如果有人可以帮助我,我会很高兴!
先感谢您,
编辑:
感谢大家帮助我,我将在这里提供解决方案:将变量“som”和“rotina”更改为“byte[]”类型,然后使用 pst.getBytes(...) 而不是 pst.getByte(... )。
澄清:
我正在使用 XBee(API 模式),所以我需要通过端口串行发送字节值。所以我只是在验证我从数据库中获得的值是否与我插入的那个值相同。总之,我想知道如何从数据库中恢复字节以通过串口发送它们。
postgresql - 如何在 slick 2.0.1 中表示 postgres `bytea` 类型?
在 slick 的文档中,据说这java.sql.Blob
是开箱即用支持的类型之一,我正在尝试使用它来表示bytea
列。但是下面的代码给了我一个错误:
错误信息是:
发生了什么事,我怎样才能正确地bytea
用 slick 表示?
postgresql - postgres 中的 bytea 未正确转义?
我在将触发器中的 bytea 数据从一个表复制到另一个表时遇到问题。
原始查询如下所示:
在“插入前”触发器中,尝试将此值插入另一个表时出现语法错误。原因是触发器内部的值 NEW.data 已经转义,看起来像
有没有办法检索 NEW.dataid 实际值(在类型转换之前或作为字符串)?
ps 我无法在生产数据库上更改原始查询或将 bytea_output 转换或设置为十六进制
触发功能码:
我得到的错误:
java - 将 PostgreSQL bytea 存储的 serialized-java-UUID 转换为 postgresql-UUID
我们的一个软件项目使用了一个 PostgreSQL 表,其中有一列 'guid' 类型为 bytea。
这与带有 PostgreSQL 8.4 的 hibernate 3.3.2.GA 一起使用,它使用java object serialization 序列化 java UUID 类型。结果是类似于以下escape
格式 bytea 字面量的值:
...我们不能轻易地在查询中使用它作为选择或条件来检索相关行。
有没有人有办法在查询的选择或位置部分(例如通过 psql 或 pgadmin3)中读取或使用 bytea 列,而无需设置一些休眠查询?
postgresql - pqxx byteA 和 binaryString 奇怪的数据读取
我在使用 PostGreSQL 数据库和一些加密数据时遇到了一些问题。我使用河豚算法加密字符串,获得二进制数据作为回报。这个二进制文件可以包含 \0 和一些其他的 scape 序列。
我以这种方式存储数据:
然后我这样读:
问题是,有时,数据可以完美返回,但在其他情况下,数据会正确返回,之后会出现一些垃圾。关于我应该修改写入/读取的方向以避免这种奇怪的数据被添加到我的加密字符串中的任何线索?
我做的另一个尝试是以这种方式存储数据:
结果相同。
编辑:根据要求,做了一些日志研究:我正在研究这个值:
并将它们设置为
奇怪的狗屎是..我通过再次创建相同的变量使用 $5 和 $6 搜索得到了正确的行
但是如果我尝试打印我之前显示的字符串:
这就是我得到的(3次尝试):
随着更多的尝试,一切都会继续改变。我最终可以将正确的“”放入第一个属性中。在第一次尝试时正确显示的属性将始终正确显示。
postgresql-9.3 - 以转义格式插入十六进制值 (bytea)
如何以转义格式将 \x320000000d2f2100 等十六进制值插入到 bytea 字段中?
bytea_output 设置为转义
postgresql - 带有十六进制值的 Golang+Postgres WHERE 子句
我创建了一个带有 BYTEA 字段的简单 sql 数据库,
然后我尝试从 Go 中查询它。
它没有找到该行。我究竟做错了什么?
python - 如何在 python 中从 postgres 数据库中插入/检索 .mat( matlab ) 文件?
环顾四周后,我编写了此插入/检索代码以读取 .mat 文件,将其发送到 bytea postgres 数据库列,然后尝试检索它并重新创建文件。
我使用 psycopg2 进行数据库交互。
插入:
尝试检索并将其保存到文件(文件名是“something.mat”)
它从数据库中检索数据并成功将其保存在一个文件中,但是该文件没有作为 mat 文件打开,并且文件大小比我尝试存储在数据库中的原始文件大得多(大约是原来的两倍) .
我假设正在发生一些我没有正确处理的数据转换。
非常感谢任何帮助。
python - 将bytea从Postgres转换回python中的字符串的正确方法
我有一个小脚本,我在其中生成 SHA1 哈希,通过 hashlib 的 hexdigest 获取二进制表示,并将它们存储在带有 bytea 列的 Postgres DB 中。我在 Postgres(缩写)中有一个如下所示的查询:
执行查询时,我有一些如下所示的代码:
现在,在该打印语句中,它要么打印出难以理解的字符,要么将其更改为:
我得到类似的东西:
将其转换回原始字符串的正确方法是什么?原始表示类似于“30d22d5d64efe4c5333e”,我想将其恢复为原始字符串以进行比较。我不确定我是否遗漏了一些明显的东西,