问题标签 [embedded-sql]
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.
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 代码不起作用。
我无法解决问题或有任何想法进一步调试它。知道问题出在哪里吗?
c# - 如何通过 SQL Server 2014 中的 C# 摆脱嵌入式 SQL 中的死锁?
当通过 MS SQL Server 2014 中的 C# 编程语言调用嵌入式 SQL 时,我在 Dispatching.PackageTrace 表上面临死锁问题。
下面是数据库中的表设计:
下面嵌入式 SQL 在 MS SQL Server 2014 中通过 C# 编程语言调用:
建议非常感谢从僵局中克服。
先感谢您。——拉杰
sql-server - DB-Library 和 ESQL/C(用于教育目的)
了解旧技术通常可以帮助我们更好地了解新技术,因此这是具有多年经验的数据库编程大师的问题(从 SQL Server 最开始,至少版本 6.5)。
最近我搜索了 MS TechNet,寻找访问数据库的旧方法,我发现了这个。
如您所见,在将 DB-Library 与 ESQL/C 进行比较时,他们说:
«...编程的调用级方法不需要预编译器;但是,您不能在 C 程序中包含 Transact-SQL 语句,因为您可以使用 Embedded SQL for C (ESQL/C) ...»
AFAIK,ESQL/C 是数据库库的包装器。
那么,如果 DB-Library 不能做 Transact-SQL,ESQL/C 怎么做呢?
有人可以向我指出我不关注的内容吗?
c - 描述符中的 SQLSET 数据类型
如何在描述符中插入 SQLSET 类型?
首先,我准备并使用绑定变量声明游标:
我的目标是替换“?” 在带有帐户列表('123','234')的打开光标中。语句的光标准备一次(服务器启动),然后用不同的数据(帐户列表的大小)打开几次(服务启动)。我的目标是使用 IN() 运算符准备光标并将帐户列表作为绑定变量传递。
Open is by 声明:
其中 descWhere 是服务创建的描述符(设置描述符语句)。
如果我使用简单类型(SQLCHAR itp.)Exp:
如何插入描述符类型 SQLSET、SQLLIST、.. 如果可以做到,它是否可以使用 IN() 运算符?
postgresql - 在 PostgreSQL 的嵌入式 SQL 中将两个主变量相乘
我在 PostgreSQL 的嵌入式 SQL 中将两个主变量相乘时遇到问题。SQL 查询很大,但我已经删除了不起作用的部分。
宣言:
代码:
编译工作,但我在执行时收到以下错误消息:
错误代码:-400
Errmsg: operator is not unique: unknown * unknown on line 1394
如果我将代码更改为
或者
或者
有用。
是否可以将两个主变量相乘?如果没有,是否有任何解决方法?上面的最后一个代码示例有效,但我想要一个不那么难看的解决方案。
sql - 在 postgresql 中插入错误的顺序(使用 pro c)
我想用 pro c 从文本文件向 psql插入数据,用 pro c 程序插入数据后,psql 中的数据顺序有时与文本文件不同。
过程中没有任何sql错误,当我从表中选择*时发现问题。
是否有某种方法可以确认我插入的顺序与数据库(psql)中的顺序相同?
谢谢!
例如:
表:testtable
id int
name char(20)txt 文件:
100 艾米
200 约翰
300 欢乐
400 ruby
但是 psql 中的数据是这样的:
200 约翰
300 欢乐
400 红宝石
100 艾米
我的程序:
sql - 在 SQL 中简单地执行可选标准是否会导致严重的低效率?
这是一个关于 Oracle (~11g) 查询优化的非紧急问题。这并不紧急,因为查询目前在要求范围内表现良好,但我想知道是否建议优化我的查询。
该查询通过外键将最多几千条记录的表连接到其他 4 条记录,因此其他表中只有一个匹配行,大约有 30 到 300 条记录。它选择主表的几乎所有 (c. 40) 列和其他表中的 3 列。使用嵌入式 SQL 访问数据库,该源文件经过预处理以sed
使其适应以下两种平台之一:(正常)AIX 上的 Oracle 或 VMS 上的 Oracle Rdb。在这两种情况下,查询都在与 DB 相同的机器上运行,Rdb 的性能往往稍好一些。
我有疑问的一点是,为了实现可选的选择标准,我有一个条件:pid = 0 OR t.pid = :pid
和两个 like t.name like :name
,其中:pid
和:name
是主机变量,并且:name
设置"%"
为何时不需要此标准,否则为实际名称。
我这样写是为了保持代码简单,即避免动态 SQL 的复杂性和编写(文本上)相当大的查询的几个变体的冗余——这些选项中的任何一个都可能会增加维护成本。由于数据库并不大(并且预计将保持大致相同的大小)并且性能在范围内,我目前认为是合理的。
这种方法是鲁莽的、明智的务实还是介于两者之间?
c - ORA-3113 更新 CLOB 后
我正在尝试熟悉在 Oracle 中使用 LOB(来自应该迁移的 RdB)。现在,当我尝试使用名为 AN.BEMERKUNG 的 CLOB 列对现有条目进行更新时,我遇到了一个问题:
代码摘录:
在我尝试提交之前一切正常,然后我收到消息:
从提交返回 sqlcode -3113
SQL 错误消息:ORA-03113:通信通道上的文件结束
我在 RHEL 上使用 Oracle 11。该程序直接在DB所在的平台上运行。我只是出于测试目的使用这个 20 的小缓冲区,以强制程序分几个步骤构建 CLOB。
这个错误可能是由什么引起的?
oracle - PL/SQL 中的绑定变量
我阅读了将数据列信息分配给 2 个绑定变量的脚本。
像这样的东西:
里面不应该有逗号吗?或者这就像用相同的值分配var1
到v.v1
和也v2
一样?