问题标签 [odbc]

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 投票
3 回答
7324 浏览

sql - 如何在递归 SQL 查询中查找子树中的所有节点?

我有一个表,它定义了节点之间的子父关系:

如果parentID总是指向一个有效的现有节点,那么这自然会定义一个树结构。

如果parentID是,NULL那么我们可以假设该节点是根节点。

我将如何:

  1. 查找作为给定节点的后代的所有节点?
  2. 查找给定节点下的所有节点到特定深度?

我想将这些中的每一个都作为一个 SQL(我希望它一定是递归的)或两个相互递归的查询来完成。

我在 ODBC 上下文中执行此操作,因此我不能依赖任何供应商特定的功能。

编辑

  • 还没有写表,所以添加额外的列/表是完全可以接受的。
  • 树可能会经常更新和添加;辅助数据结构/表/列是可能的,但需要保持最新。如果您有任何魔法书籍可以进行此类查询,我想知道。

非常感谢。

0 投票
9 回答
86239 浏览

c# - 检查是否存在 SQL 表

以数据库独立方式检查 Sql 数据库中是否存在表的最佳方法是什么?

我想出了:

有一个更好的方法吗?当与数据库的连接失败时,此方法将不起作用。我找到了适用于 Sybase、SQL server、Oracle 的方法,但没有任何方法适用于所有数据库。

0 投票
2 回答
6599 浏览

odbc - 如何使用 ODBC 从 Informix 中的 varchar 列中获取尾随空格

我无法从 Informix 数据库中的 varchar 列中获取尾随空格。

我创建了测试表,用一些尾随空格填充了它,但是它们没有被 SELECT 返回,而它们似乎存储在数据库中。

我得到了字段:

我测试的其他数据库:Oracle 和 PostgreSQL 返回带有尾随空格的 varchar 字段。我尝试了 RPAD() 但没有成功。有没有办法得到尾随空格?

服务器:IBM Informix 动态服务器版本 11.50.TC2DE

客户端:使用 ISA(HTML 页面源代码中没有空格)和 ODBC 驱动程序 3.50.TC3DE 进行测试

编辑 简单的 Python 测试程序(在 Windows 上使用 ActivePytnon 2.6 进行测试,您必须在最后几行更改连接字符串)

和结果:

Jython 中使用 JDBC 的类似程序:

  • 与本机 JDBC 驱动程序一起工作(不修剪尾随空格)
  • 对 JDBC-ODBC 桥不起作用(修剪尾随空格c)

资源:

结果(仅适用于 Informix):

0 投票
2 回答
3042 浏览

php - 与 iSeries 的无 DSN ODBC 连接

我在 Ubuntu 8.04.1 服务器上使用 ibm_db2 v1.8.0 运行 PHP 5.2.4。我正在尝试使用运行 OS/400 v5R3 的 IBM iSeries,但我完全不确定如何在没有 DSN 的情况下实际连接。我查看了http://www.connectionstrings.com/但 DB2 或 AS/400 连接字符串似乎都不起作用。我最终得到的是:

这是我当前的 DSN 字符串:

我也尝试过“IBM DB2 ODBC DRIVER”,但得到与上面的字符串相同的错误。

0 投票
3 回答
1151 浏览

c++ - 在 SELECT 中拆分 varbinary

我的一张表中有一个大的 varbinary 字段,我想分批下载以在我的应用程序中显示下载进度指示器。

如何拆分 SELECT 查询中发送的数据?

谢谢

0 投票
1 回答
11810 浏览

jdbc - 使用 JDBC 和 ODBC 将 TEXT 列插入 Informix 数据库的一致方法

当我尝试通过 JDBC 向 Informix TEXT 列插入一些数据时出现问题。在 ODBC 中,我可以像这样简单地运行 SQL:

但这在 JDBC 中不起作用,我得到了错误:

我搜索了这样的问题,发现了 2003 年的消息:

http://groups.google.com/group/comp.databases.informix/browse_thread/thread/4dab38472e521269?ie=UTF-8&oe=utf-8&q=Informix+jdbc+%22A+blob+data+type+must+be+提供+在+这个%22

我将代码更改为使用 PreparedStatement。现在它适用于 JDBC,但在 ODBC 中,当我尝试使用 PreparedStatement 时出现错误:

测试表是通过以下方式创建的:

用于测试两个驱动程序的 Jython 代码:

JDBC 或 ODBC 中是否有任何设置为两个驱动程序提供一个版本的代码?

版本信息:

  • 服务器:IBM Informix 动态服务器版本 11.50.TC2DE
  • 客户:
    • ODBC 驱动程序 3.50.TC3DE
    • 适用于 IBM Informix Dynamic Server 3.50.JC3DE 的 IBM Informix JDBC 驱动程序
0 投票
3 回答
316 浏览

ado.net - 如何使用 ADO.NET 请求数据库产品名称?

我开发了一个具有自定义数据库配置的产品。我将 ADO.NET 与 System.Data.Odbc.OdbcConnection 一起使用。为了在数据库之间做出一些区别,有一个简单的解决方案来检测连接的当前 DBMS。

0 投票
2 回答
732 浏览

linux - 在 Linux 上使用什么数据库工具来读取 as/400 数据库?

在 Linux(Red Hat dist)中,我们需要读取一个 AS400 数据库。我们有 ODBC 驱动程序要连接,最好的查询工具是什么?

0 投票
6 回答
470 浏览

sql - 如何为最小的列数显示一行?

这个问题很复杂,所以例子效果最好......我有下表关于 ODBC,而不是 SQL 服务器管理

所以,我想撤回一个具有最低 seqNum 的名字......

此数据不适用于SELECT (MIN(SEQNUM)). 这会返回一个数字。我希望将实际数据放入我的数据集中。有谁知道这是怎么做到的吗?

0 投票
2 回答
2137 浏览

c# - C# - 获取字段类型

在 C# 2.0 中,我有一个字段列表和一个值列表(存储为字符串)、一个表名和一个 ODBC 连接。

我需要获取该表上字段的数据类型,所以我知道如何生成我的 sql。

从我所拥有的信息中获取这些信息的最佳方式是什么?

我唯一的想法是SELECT TOP 0 * FROM @TableName在数据适配器中做一个,取回数据集,然后根据数据表中的数据列遍历字段名称列表。

有没有更好的方法来解决这个问题?