问题标签 [ecpg]
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 - 带有数组参数的存储过程的 ECPG 调用
我有一个 ECPG 客户端试图获取数据。它使用带有子选择子句的准备好的语句,该子句使用带有 4 个参数的存储函数“getsipid”。我已经将第 4 个参数声明为简单的 varchar。我试图将第四个参数声明为一个数组,但是,ecpg 仅在第四个参数中传递数组的第一个参数,而不是全部。
传递整个 requsr(s) 数组的诀窍是什么。这个数组大小通常最多只能包含 5 个参数。我意识到我可以向函数添加更多参数来克服这个问题。我希望解决方案会更优雅。
感谢您的意见
戴夫
pgc 文件准备了上面的主机变量,并且有一个调用效果。
存储的函数声明为
c - PostgreSQL ecpg 程序不保存对数据库的更改
我在笔记本电脑上使用 postgresql 服务器,并尝试使用 epcg 通过我的 C 程序连接数据库。我编写了以下命令来预编译、编译和运行我的.pgc
程序。
我的程序正在编译并成功运行,即它没有显示任何错误。
但是,当我尝试在命令行提示符下检索我的数据库时,使用命令
COMMAND - psql
database
表中没有更新,即我在程序中编写的命令没有在数据库中更新。
以下是.pgc
文件中的代码:
以下是预编译后的 C 代码:
postgresql - ecpg 找不到包含,除非从包含源文件的目录执行
当从包含源的目录运行时,ecpg 可以找到 EXEC SQL INCLUDE 头文件,但不能从任何其他目录运行。
这是一个插图。编译成功:
缺少包含参数,因此预计会失败:
添加 ecpg 包含参数。仍然失败:
我试过指定 src 目录的绝对路径。没提升。我知道 -o 不是必需的。
我正在使用 PostgreSQL 9.2。这是来自 ecpg 的版本信息:
sql - ECPG:EXEC SQL DECLARE SECTION 中的 sizeof()
我有 Sybase ASE CPRE 嵌入式 SQL С 代码:
尝试迁移到 PostgreSQL ECPG Embedded SQLС 代码:
但是 ecpg.exec 预编译器返回:
我的解决方案:
预编译后的函数C代码:
但也许有一个更正确的决定。
postgresql - Postgresql 模式 INFORMIX 或 INFORMIX_SE
在PostgreSQL
, withecpg
中,有两种兼容模式:INFORMIX
, INFORMIX_SE
.
INFORMIX
设置模式和设置模式有区别INFORMIX_SE
吗?我没有看到有关此Postgresql Doc的任何详细信息
谢谢。
postgresql - ecpg 错误:break 语句不在循环或开关内
我写了一个ecpg代码。我正在尝试根据元组是否已存在于表中将元组插入表中。我在编译时收到“错误:break statement not within loop or switch”请帮助我在代码中注释了编译器显示错误的行
c - PostgreSQL - ECPG / C - 主机变量 UTF-8 解码
我有一个 UTF8 编码数据库。我正在使用 ECPG - 程序 C。
当我使用 EXEC SQL 获取数据记录集时
但我在 pgc 文件中打印数据,
我得到:
是否可以在程序 C 中将主机变量 UTF8 解码为 ISO-8859-1?是否可以在 .pgc 文件中说:Postgres 我想要 UTF8 解码值?
谢谢
sql - PostgreSQL 为什么/何时应该使用 ECPG
我决定使用 postgreSQL 作为游戏项目(C++)的数据库。
目前我正在使用 Oracle,它是 Pro*C 预编译器,听说 postgreSQL 也有类似的东西,称为 ECPG。
也可以通过使用字符串中的 SQL 直接访问 postgres 数据库中的数据。
那么“正常”和使用 ECPG 之间的区别是您可以像代码一样编写 SQL 语句吗?还是我应该注意其他任何区别?
(PS:我知道我在工作中使用它,但我没有注意到任何其他差异)
期待听到你们的消息。
qt - 如何为 ecpg 和 qt 项目制作 cmake 脚本?
如何为使用 ecpg 代码生成和 qt moc 编译器的项目制作 cmake 构建脚本?
还有如何在 cmake 中添加代码生成(这在制作中很容易)?
c - C 连接问题中的嵌入式 SQL
Postgresql 角色是 db 'university' 的所有者,它的配置如下:
更改用户独木舟密码“mypassword”;
C 中的一段嵌入式 SQL 代码只是与 DB 建立连接。
printf("SQLSTATE=[%s]\n", SQLSTATE);
EXEC SQL CONNECT TO 'university' USER 'canoe/mypassword'
printf("SQLSTATE=[%s]\n", SQLSTATE);
代码被编译和链接。它在运行 postgresql 服务器的本地主机上运行并在其默认端口上侦听。
$ ecpg connection.pgc
$ gcc -I/usr/include/postgresql connection.c -o conn -lecpg
编译后的代码输出为:
SQLSTATE=[00000]
SQLSTATE=[08001]
错误代码 08001 表示“sqlclient_unable_to_establish_sqlconnection”。我已更改 postgresql 的配置以记录所有连接尝试以调试代码。
LOG:参数“log_connections”更改为“on”
LOG:00000:参数“log_error_verbosity”更改为“verbose”
但是,运行编译后的代码时,没有任何错误。当我将它与 pgsql 连接时,它有日志信息。
$ pqsql university -W
LOG:连接授权:用户=canoe 数据库=大学
我注意到的有线事情是即使我在提示后输入错误的密码,我仍然可以获得授权。但是我的一段 C 代码不起作用。
我无法解决问题或有任何想法进一步调试它。知道问题出在哪里吗?