问题标签 [jdbc-postgres]

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.

0 投票
0 回答
53 浏览

postgresql - JDBC 问题读取和写入字节

我正在尝试将我的 java 应用程序从 PostgreSQL 8.4 迁移到最新版本。我面临从数据库读取字节数据的问题。我将 IpAddress 以字节为单位插入到表中,并尝试在不同的进程中将其重建回来。但是在重建时,我可以看到这里额外的“/”字符正是我正在做的事情。

然后像这样读回来

当我在插入之前和检索之后打印字节时,我可以看到它们不一样。对于本地环回地址,在插入其“[B@106bdde4”之前为 127.0.0.1,但是从 DB 获得的地址看起来像 [B@6d7eaa83,当我从中构造字符串时,它显示了额外的“/”字符 ==>“/127.0 .0.1" 谁能帮忙解决这个问题

0 投票
1 回答
905 浏览

ruby-on-rails - schema.rb - 转储错误 - NoMethodError 未定义方法 `default_function'

我去查看我的 schema.rb 文件,发现以下内容:

数据库中的每个表都重复最后三行!

数据库似乎工作正常。我可以做一个 db:rollback 和 db:migrate 没有问题,除了重新生成的 schema.rb 仍然看起来像上面那样。回顾我的 GIT 存储库,它发生在 2014 年 7 月 29 日左右。该提交中唯一与数据库相关的更改是次要迁移,向两个表中的每个表添加一列。我尝试了一个 db:rollback,然后是 db:schema:dump,但没有运气。那时的其他提交只是对视图和控制器的更改。

我正在使用“activerecord-jdbcpostgresql-adapter”gem。1.3.9 版于 2014 年 7 月 7 日发布。在 Gemfile 中强制将其返回到 1.3.8 版,捆绑并再次尝试 db:schema:dump,但仍然是同样的事情。 删除数据库并重新开始可能会奏效并且不会造成灾难性后果,但我现在不想丢失所有的开发数据。

重命名了 database.yml 中的数据库。创建了那个新数据库并使用 db:migrate 构建它。生成的 schema.rb 仍然是相同错误的列表。

有什么建议么?

0 投票
1 回答
337 浏览

java - 使用二进制传输时,准备好的语句中的文本数组返回 null

在 postgresql-jdbc 中使用二进制传输时,我在使用返回文本数组类型的准备好的语句时遇到问题:它返回null应该具有值的位置。事实上,在我的测试中,它仅从循环中的第 6 次迭代开始发生。

如果我将binaryTransfer属性设置为false,它工作正常。

我已经在 PG 9.2 和 9.3 数据库中使用 postgresql-9.3-1102.jdbc4.jar 对其进行了测试。

对于不实现二进制传输的较旧的 jdbc 版本(即 postgresql-9.0-801.jdbc4.jar),它可以正常工作。

这是我测试的代码:

这是输出

这是相同的输出设置 DEBUG 日志级别:

0 投票
0 回答
139 浏览

mysql - 如果任何单个记录由于某些限制而失败,则整批中止?

我使用 Postgre sql 作为后端。我正在使用 postgre jdbc 驱动程序进行连接。我正在执行一批 5 条记录。我已将独特的约束放在一列中。现在在将 5 条记录添加到批处理后,我正在执行批处理。现在,当我执行此操作时,在第三批中,由于独特的约束,整个批次将中止,一条记录出错。其余所有 3(第 1、第 2、第 4)批次将执行。在 MySQl 中只有失败的记录将被中止,包含错误记录的批处理将被正确执行。那么为什么在 Postgre sql 中会发生这种情况呢?这是预期的行为还是错误?

0 投票
0 回答
383 浏览

java - 当我设置 hbm2ddl.auto 等于 create-drop 时,realtion 不存在

我有以下弹簧配置:

主要方法:

应用程序何时运行我看到以下错误:

看起来hbm2ddl.auto从配置没有读取。
我错了什么?

0 投票
1 回答
3630 浏览

java - 如何使用 Java 将 JPEG 图像插入 PostgreSQL bytea 字段,然后使用 PHP 在网站上显示?

我制作了一个小的 Java 程序,它读取图像文件(jpg/jpeg)并将它们插入到数据库表中covers.cover,该表的类型为bytea.

我相当确定byte[] cover传递给 JavaaddCover(int riddim_id, byte[] cover, byte[] thumbnail)方法的参数包含有效的 jpeg 数据(我已通过将其写入 .jpeg 文件进行测试,该文件显示正常)。

add_cover(riddim INT, cover BYTEA, thumbnail BYTEA)似乎正确调用了数据库函数;通话后,表中有数据,我没有收到任何 SQL 错误。

但是,数据看起来有点像

依此类推,对我来说,它看起来不像是有效数据。我期待更统一的东西(更少的特殊字符,如,,"$),如\x01E25A43.

当我转到http://foo.bar/image.php下面显示的 PHP 脚本时,Firefox 告诉我该图像无法显示,因为它包含错误数据。

我假设我没有正确使用 BYTEA 字段,但我无法弄清楚我做错了什么。有什么建议么?

数据库表如下所示:

我用 java 调用的数据库函数如下所示:

使用 JDBC 连接器调用上述数据库函数的Java 方法如下所示:

将数据作为图像/jpeg 发送到浏览器的PHP 脚本(我在 Google 某处找到的):

我正在运行PostgreSQL版本 9.4.4,使用postgresql-9.4-1202.jdbc41.jar

0 投票
1 回答
67 浏览

java - 使用 JDBC 从 Postgres 检索的行都是相同的

下面是一个将行加载到 Records 数组中的函数。

Record类如下

传递给 LoadFromDb() 的查询是

当 LoadFromDb() 完成执行时,'records' 数组中的每个对象都完全相同。为什么是这样?您可以提供的任何帮助将不胜感激。

0 投票
0 回答
439 浏览

java - main 上的 JDBC 和 Postgresql 异常

感谢您的任何意见。我收到以下错误消息。我正在使用 postgresql 运行 JDBC,并尝试在我拥有的 query.txt 文件上运行 9 个查询。根据下面的控制台消息创建了表并插入了值。但是,我在线程主线程中遇到异常。我不明白如何清除它并让我的控制台成功运行并且我的 1.html 文件执行我的查询结果。再次感谢大家对此的帮助。这是我运行查询的特定类的代码。

这是控制台结果:

0 投票
1 回答
463 浏览

java - 将 jdbc postgre 驱动程序添加到 jar

我正在构建一个使用 JDBC 驱动程序连接到 psql 数据库的 java 服务器程序。我需要在 .jar 文件中编译程序,但是当我尝试这样做并运行它时,我得到了这个异常。(程序必须在linux机器上运行)

java.lang.ClassNotFoundException: org.postgresql.Driver 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader。 loadClass(Launcher.java:349) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 java.lang.Class.forName0(Native Method) 在 java.lang.Class.forName(Class.java:264)在 Server.connectToDatabase(Server.java:53) 在 Server.(Server.java:33) 在 Main.main(Main.java:10)

由于该程序在 IntelliJ 编辑器上运行良好,我认为问题在于 jar 文件中没有 jdbc 驱动程序。我怎样才能添加它?

0 投票
3 回答
4572 浏览

java - 从 Postgres 获取的日期不正确

我有一个名为deadline_datetype timestamp with time zonewith value 的字段2018-05-03 19:00:00-05.

但是在从我的 java 代码中查询时,它返回的值是2018-05-04 05:30:00+05:30.

我认为它正在根据我当地的时区转换日期。

有没有办法获得存储在表中的值?

我正在为 Postgres 使用以下 maven 依赖项

测试.java