- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我从事这个工作已经有一段时间了,尝试了来自 openSource、IBM 和许多其他公司的各种不同的软件包。我还没有找到一个可以在没有某种令人困惑的安装方法的情况下工作的方法,我无法工作,或者与其他第三方组件进行某种集成,我似乎无法工作。
我只是尝试使用 Python 在 Informix 服务器上执行 SQL 语句。与 mySQL 和其他工具没有什么不同。使用游标或完整结果转储,真的不在乎。我希望能够静态或动态地形式化查询字符串,然后告诉任何工具/模块执行所述查询并返回结果(如果有)。
我已经尝试过:
我已经做到了:
我只是被难住了。寻求有关下载内容(URL)、如何安装(提示和技巧、环境变量、安装位置等)的帮助。我想要一些不依赖于 Java 或编写 Java 等的东西我正在寻找一种解决方案,使我能够编写 Python 来查询、插入、更新和删除 Informix 数据库和表。我想将之前编写的 Java 和 Bash 脚本合并到 Python 脚本中。
感到沮丧并寻求任何帮助。
感谢您的聆听,如果您不明白我的请求,请提问。
最佳答案
Linux 上的 Informix 令人头疼。我个人为使 Informix-connect 与 CPython3 配合使用而进行的设置是将 Informix Client SDK 与 unixODBC 和 pyodbc 堆叠起来。有一些困难需要克服,但没有一个被记录下来。几乎所有设置都是完全无用的,但需要防止 Informix 驱动程序的某些部分跳出。请注意,某些选项区分大小写和空格( Description=Informix
!= description = Informix
)。
/opt/IBM/informix
/opt/IBM/informix/lib/cli
和/opt/IBM/informix/lib/esql
到您的动态链接器查找路径。在 Fedora 上,您可以通过将它们放入新文件 /etc/ld.so.conf.d/informix.conf
中来完成此操作。 创建一个新的 /etc/odbc.ini
并添加以下内容:
[ODBC Data Sources]
Infdrv1=IBM INFORMIX ODBC DRIVER
[Infdrv1]
Driver=/opt/IBM/informix/lib/cli/iclit09b.so
Description=Informix
Database=WHATEVER_YOUR_DB_NAME_IS
Servername=WHATEVER_YOUR_SERVER_NAME_IS
CLIENT_LOCALE=en_us.8859-1 # MAY BE DIFFERENT
DB_LOCALE=en_us.819 # MAY BE DIFFERENT
[ODBC]
UNICODE=UCS-2
创建一个新的 /etc/odbcinst.ini
并添加以下内容
[IBM INFORMIX ODBC DRIVER]
Description=Informix Driver
Driver=libifcli.so
您需要设置环境变量INFORMIXDIR
和ODBCINI
。在 Fedora 上,您可以添加一个新文件 /etc/profile.d/informix.sh
并添加
export INFORMIXDIR=/opt/IBM/informix
export ODBCINI=/etc/odbc.ini
编辑 /opt/IBM/informix/etc/sqlhosts
并将您的基本连接信息放在那里。在最简单的情况下,它只有一行内容:
YOUR_SERVER_NAME\tonsoctcp\tYOUR_DB_NAME\tpdap-np
请注意pdap-np
实际上是端口 1526,它也是 Informix“Turbo”驱动程序 tcp 端口。查看您的/etc/services
创建一个空的 .odbc.ini
在你的$HOME
例如通过touch $HOME/.odbc.ini
。它需要在那里。它必须是 0 字节。我喜欢这一部分。
从您最喜欢的存储库安装 unixODBC 和 pyodbc。
请记住让您的环境发生变化,例如通过重新启动。您现在可以像这样连接:
import pyodbc
DRIVER = 'IBM INFORMIX ODBC DRIVER'
SERVER = 'YOUR_SERVER_NAME'
DATABASE = 'YOUR_DB_NAME'
constr = 'DRIVER={%s};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s' % (DRIVER, SERVER, DATABASE, USER, PASS)
con = pyodbc.connect(constr, autocommit=False)
从那里您可以获取光标、执行查询、获取结果等。请注意,IBM 的 ODBC 驱动程序中存在许多奇怪的错误,这是我无法想象的:
NULL
的行s 可能会导致段错误,因为 IBM 驱动程序将 32 位 int 放入预计 64 位 int 表示值为 null 的位置。如果您受到此影响,您需要为所有可能的列类型修补 unixODBC 来处理此问题。SELECT COUNT(*) FROM foobar
需要为 SELECT COUNT(*) AS c FROM foobar
)。关于python - 如何让 Python 和 Informix 在 Linux 上对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897252/
我能想到的最好的标题,但要澄清的是,情况是这样的: 我正在开发一种类似短 url 的服务,该服务允许用户使用他们的 Twitter 帐户“登录”并发布内容。现在这项服务可以包含在 Tweetdeck
我正在开发一个应用程序,我需要用户使用类似聊天的系统相互交互。 为此,我想创建一个对话模型。据我所知,我将使用多对多关系。 具有以下模型:Conversation、User 和 Message,我想象
我试图在一个页面上多次实现 jquery 对话框 - 基本上,我想在用户单击某个人的名字时显示有关该人的更多信息。 我正在使用 php 生成页面。 我尝试这样做,并使其部分工作,但我只能使页面上的第一
我制作了一个 CustomTypeDialog 类,我想要的是使用不在 Activity 布局中的 EditText。当我尝试单击其中一个按钮时出现空指针异常,我认为这是因为它们不在 Activity
我有这个程序,我想知道如何继续它。我想让用户在“发生了什么”之后输入更多文本,然后让程序响应。感谢您的帮助 int main() { cout > answer; switch(an
我目前正在开发一个由 javafx ui 支持的 java 游戏。 玩家。应该可以和npc对话,这没问题。但我想要一定的文字效果。就像在 polemon 游戏或 Undertale 中一样,文本会逐个
所以基本上我正在尝试重写一个 bash 脚本,该脚本使用对话框 --radiolist 来选择区域设置、键盘、时间。目前,标签是与本地对应的数字(我为它创建了一个哈希表)。但因为我有大约 100 个语
随着社交媒体平台的快速发展,用户对内容分享的需求不断增加,社交分享按钮在数字营销和搜索引擎优化(SEO)策略中也成为提升网站流量和内容曝光率的重要工具。此外,图片、视频和文件的传输在协同工作和朋友共享
有人可以告诉我如何使用 Watson Conversation 和其他服务(例如 Twilio)调用实时电话并进行对话吗? 我可以使用 Watson Conversation、Twilio 和 Nod
我有一个包含几个 .txt 文件的目录。让我们说 hi.txt hello.txt hello_test.txt test.txt 在 VBA 中使用文件对话框,如何过滤以在下拉列表中仅显示“*tes
我有一个 session 范围的 bean,ComponenteM,它被注入(inject)到请求范围的 bean,ComponenteC 中。 @Named @RequestScoped publi
我需要收集推文“集”,即用于我的研究的推特对话; 这些集合还需要满足以下条件 其中的推文数量,以及 参与人数。 我研究过 Twitter Streaming API、twitter-stream ge
我想在用户 Lync 客户端中打开一个新对话,其中包含预先确定的消息文本,但消息的收件人由用户选择,此过程从用户单击网站。 这可能吗? 最佳答案 这里的部分问题是,如果不知道要与谁开始对话(如果有意义
在 JBoss AS7 中工作,使用 Conversation Scope 管理浏览器选项卡中的用户交互。 我注意到我的页面附加了 ?cid 参数。这很棒 - 直到用户为页面添加书签然后尝试返回它!对
本地和远程标记以及Call-ID的组合用于识别对话。据说Call-ID是一次调用的唯一值。那么为什么 Call-ID 不单独用于识别对话呢? 最佳答案 一句话:“发夹”。 “Hairpinning”是
除了这行不通之外,这里没什么好说的,我不知道为什么。 Arduino 上的串行输出什么也没有。 C# 代码的输出变为等待响应,然后什么也没有。 当我启动 C# 程序时,Arduino 上的蓝牙卡 LE
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
目前正在开发一个应用程序,它甚至可以与 Android 2.2 一起使用,我使用支持库及其 AppCompat 主题来设计我的 UI。尽管大部分 UI 工作正常,但我有一个带有自定义布局的 Alert
我正在尝试对 MySQL 表 I 进行类似对话的输出,如下所示: Content From To Date Lorem
我已经创建了消息系统,在 messages.php 上我想显示消息对话,应该显示最后一条消息,但不知道查询,因为我是 php 新手,这里是数据库信息 table:conversation_chat
我是一名优秀的程序员,十分优秀!