跟踪 Informix Client for Linux 的 ODBC 调用

2023-12-12

我尝试跟踪 Linux 上运行的程序中的 ODBC 函数调用。该程序动态链接 ODBC 管理器,然后连接到数据库并获取一些数据。

我可以通过添加到 odbcinst.ini 来使用 unixODBC 跟踪 ODBC 调用:

[ODBC]
Trace=yes
TraceFile=/tmp/sql.log

IBM 对此方法有文档说明:收集 ODBC 问题的数据

但是当我将管理器从 unixODBC 更改为 Informix 自己的管理器 (libifdmr.so) 时,不会创建跟踪文件。有人成功从 Linux 上的 Informix 管理器(和驱动程序)获取 ODBC 跟踪吗?

客户端版本:CSDK 3.50UC3

我希望这不是一个错误,而是我的配置有问题。

至于unixODBC:我无法在多线程应用程序中使用unixODBC。我使用连接池,当与连接以外的另一个线程断开连接时,我的应用程序会出现段错误。在多线程应用程序中它也慢得多。


如果你运行:

strings $INFORMIXDIR/lib/cli/libifdmr.so | grep _OdbcSetTrace

你能看到任何参考资料吗?如果没有,则该库没有支持功能。如果您确实看到了这一点,那么概述的机制应该有效。如果没有,您可能有一个可报告的错误。

您试图追踪什么级别的问题?而且,既然 unixODBC 可以工作,为什么不使用可以工作的驱动程序管理器呢?


我从 $INFORMIXDIR/demo/cli 中获取了示例 distsel.c,并使用 CSDK 3.50.FC3 在 Solaris 10 上对其进行了编译。我已经到了连接成功的地步,但我正在使用的数据库中缺少表“item”,因此程序停止 SQLExecDirect()。当我在“truss”(相当于 Linux 上的“strace”)下运行它时,即使尝试打开跟踪文件,也看不到代码的证据。

我编译使用:

gcc -I$INFORMIXDIR/incl/cli distsel.c -DNO_WIN32 \
    -L$INFORMIXDIR/lib/cli -lifdmr -lifcli -o distsel

我使用了以下 .odbc.ini 文件:

;
;  odbc.ini
;
[ODBC Data Sources]
odbc_demo = IDS 11.50.FC3 stores on black

[ODBC]
Trace           = yes
TraceFile       = /tmp/odbc.trace

[odbc_demo]
Driver          = /usr/informix/11.50.FC1/lib/cli/libifcli.so
Description     = IBM Informix CLI 3.50
Server          = black_19
FetchBufferSize = 99
UserName        = jleffler
Password        = XXXXXXXX
Database        = stores
ServerOptions   =
ConnectOptions  =
Options         =
ReadOnly        = no

和这个:

;
;  odbc.ini
;
[ODBC Data Sources]
odbc_demo = IDS 11.50.FC3 stores on black

[odbc_demo]
Driver          = /usr/informix/11.50.FC1/lib/cli/libifcli.so
Description     = IBM Informix CLI 3.50
Server          = black_19
FetchBufferSize = 99
UserName        = jleffler
Password        = XXXXXXXX
Database        = stores
ServerOptions   =
ConnectOptions  =
Options         =
ReadOnly        = no
Trace           = yes
TraceFile       = /tmp/odbc.trace

因此,我相信您已经发现了一个错误。我不确定该错误是在您引用的常见问题解答中还是在产品中 - 我倾向于认为是后者。您应该向 IBM 技术支持报告该问题。 (我还没有检查 Informix CLI (ODBC) 手册;在尝试提交产品错误之前可能值得检查一下;如果手册表明 Trace 不起作用,或者如果它没有表明它起作用工作,那么您列出的常见问题解答页面中存在错误。)

如果您想查看 SQL 数据,常见问题解答的 SQLIDEBUG 部分可以使用:

SQLIDEBUG=2:distsel ./distsel

这为我生成了一个文件 distsel_6004_0_102d40 - 对你来说会有所不同。然后,您可以使用“sqliprint”实用程序查看客户端和服务器之间的数据流动。

如果您找不到“sqliprint”,请回复我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跟踪 Informix Client for Linux 的 ODBC 调用 的相关文章

  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 如何成功使用RDAP协议代替whois

    我对新的 RDAP 协议有点困惑 也不知道何时进一步追求它有意义 在我看来 每个人都同意它是 whois 的继承者 但他们的数据库似乎是空的 在 ubuntu 上我尝试了 rdapper nicinfo 甚至他们的 RESTful API
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • InstaPy:“错误,无法确定 64 位 Linux 的正确文件名”

    有人知道如何解决或解决这个问题吗 来自控制台的堆栈跟踪 执行后报告错误 InstaPy Version 0 6 9 Workspace in use home zanettra InstaPy Error unable to determi
  • 停止服务时单元陷入故障状态(状态=143)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的问题 我有 CentOS 和 java 进程在上面运行 Java进程是通过启动 停止脚本来操作的 它也创建了 java 实例的 p
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs

随机推荐

  • 带有寻呼机 TopAndBottom 的 GridView

    我在 ASP NET 中扩展了标准 GridView 控件 基本上是一样的 但是分页和排序是使用回调完成的 我已经成功创建了自己的 PagerTemplate 但它仅在 PagerSettings Position 设置为 Top 时才有效
  • 数据库模式,自动增量

    这里有数据库问题 是否可以对二级或三级 ID 进行自动增量 我需要制作一些基于版本的东西 所以想象一下 ID Phrase PhraseID PhraseVersion 1 1 1 2 1 2 3 1 3 4 2 1 添加到数据库时 Phr
  • Android通知图标问题

    我有一个奇怪的问题 我有两种方式在 Android 应用程序中发送通知 一个来自 Android 服务 另一个通过 FCM 场景如下 无论应用程序是否正在运行 从 Android 服务发送的通知的图标都会正确显示 当应用程序运行时 如果我通
  • 绑定(这个)是什么意思?

    我已经知道绑定的作用是将给定的对象或函数绑定到您想要的函数 但是bind this 这真的让我很困惑 是什么意思this in bind真正意思 下面是我的带有 firebase 数据库的 React 应用程序的代码 componentWi
  • 在启用 ARC 的 C 代码中执行 Objective-C 代码时出现运行时内存泄漏警告

    ARC 已启用并且bufferReady正在由 C 库 未启用 ARC 触发 并且我确信我在某处缺少 ARC 转换 请指教 提前致谢 使用下面的代码 implementation HelloWorldLayer id refToSelf r
  • Laravel 使用 AngularJS 只存储多个文件上传文件中的一个文件

    早上好或晚上好 这取决于您何时阅读此主题 我使用 Angular 和 Laravel 编写了这段代码来上传多个文件 但是我从请求中得到的只是一个文件对象 所有其他文件对象都被释放 因此在 laravel 控制器中不会在 foreach 中循
  • 为什么这个记忆实现对匿名函数有效,但对声明的函数无效?

    我正在尝试使用记忆来优化斐波那契函数的显式自递归实现 下面是相当标准的实现 一个简单且相当幼稚的实现 但重点关注实际问题 Function prototype memoize function var originalFunction th
  • 在 GetMessage 循环中未接收到 WM_COMMAND

    有人可以解释一下为什么我从未收到过WM COMMAND我的 GetMessage 循环中的消息 我已经检查过 WndProc 正在接收WM COMMAND消息 所以我很困惑为什么这不起作用 while GetMessage msg NULL
  • .htaccess 重定向后隐藏子目录 url

    我正在将网站重定向到我创建的子目录 该子目录包含 WordPress 的安装 现在我想从网站中屏蔽该子目录 url 现在是这样的http mywebsite com apt 我想从 URL 中删除 apt 我今天尝试了一切 在谷歌上搜索 尝
  • 使用服务层时配置 IoC 容器的正确层是什么?

    我有一个中等大小的 asp net MVC 应用程序 它使用一个服务层来处理所有存储库的使用 调用域服务等 我的控制器操作非常精简 它们基本上调用一个服务类 获取响应并显示该响应 大多数组件都是基于一些穷人的 DI 的接口 该应用程序正在不
  • Pygame 绘图旋转 90 度

    因此 如果您有机会看到我之前的问题 您就会知道我正在与一位朋友一起重现康威的生命游戏 我遇到了另一个问题 绘图由于某种奇怪的原因而被旋转 我认为 x 和 y 位置有问题 但我似乎找不到解决方法 任何帮助表示赞赏 这是代码 Import go
  • 构造函数隐式删除

    下面列出了相关代码 您可以查看https godbolt org z 3GH8zD 我确实可以解决编译器编译错误 但我并不完全清楚其背后的原因 我将不胜感激对这个问题有一些帮助 struct A int x A int x 1 x x us
  • .obj 中已定义变量,但没有循环包含[重复]

    这个问题在这里已经有答案了 我知道 SO 上已经有很多类似的问题和解决方案 我读过它们 但没有一个能帮助我解决我的问题 我创建了一个用于记录的类 这是Logger h ifndef LOGGER H define LOGGER H name
  • java.io.NotSerializedException - org.omnifaces.taghandler.Converter

    我有一个在 Jboss 6 上使用 Primefaces 3 5 和 Omnifaces 1 5 的应用程序 使用 myfaces 2 1 5 尝试使用o converter我收到以下错误 org omnifaces taghandler
  • 使用数组求偶数和奇数平均值

    编写一个程序 从用户那里读取 10 个值的列表 将值放入数组中 程序应读取数组 然后计算并显示偶数输入值和奇数输入值的平均值 这应该使用对象 方法和测试器类来完成 我不明白为什么我收到错误 二元运算符的操作数类型错误 我不知道该改变什么 我
  • 使用 CloudFormation 模板部署 IIS 网站

    我有一个 Visual Studio C 部署包 zip 已将其推送到我的 S3 存储 我想运行我的 CloudFormation 脚本并让它创建 IIS 服务器的实例 我有用于此的脚本 然后将 Visual Studio 网站从 S3 存
  • 使用 cron 安排 R 脚本

    我正在尝试使用 cron 安排我的 R 脚本 但它不起作用 R 似乎在 cron 中找不到包 有人可以帮助我吗 谢谢 以下是我的 bash 脚本 source my profile home winie profile script R w
  • Java 8 链式方法参考?

    假设有一个典型的Java Bean class MyBean void setA String id void setB String id List
  • Javascript:sum(2)(3) //返回5是什么意思;

    这是返回其值的代码 function sum a return function b return a b sum 2 3 它返回 5 但如果我输入代码 function sum a function add b return a b re
  • 跟踪 Informix Client for Linux 的 ODBC 调用

    我尝试跟踪 Linux 上运行的程序中的 ODBC 函数调用 该程序动态链接 ODBC 管理器 然后连接到数据库并获取一些数据 我可以通过添加到 odbcinst ini 来使用 unixODBC 跟踪 ODBC 调用 ODBC Trace