问题标签 [dbi]

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 投票
2 回答
437 浏览

perl - DBD::Oracle 导致系统调用损坏?

看到一些奇怪的行为,即连接到 Oracle 数据库,然后调用外部函数,$ 的值?始终为 -1。
问题机器正在运行标准 AIX5.3,带有 DBD::Oracle 1.20 和 DBI 1.602。

这是来自不同 AIX 5.3 机器的结果,我能看到的唯一区别是它运行的是 DBD:Oracle 1.22 和 DBI 1.607。但是查看这些模块的更改日志,我看不到任何与此相关的内容。除了升级 DBD:Oracle 和 DBI(因为这是一台生产机器而犹豫不决)之外,我可以尝试更多的想法。

0 投票
2 回答
3121 浏览

mysql - 为什么我不能从 Perl 中的分叉子查询数据库?

我已经尝试过 Perl fork manager 和 DBI 。但我收到错误DBD::mysql::st execute failed: Lost connection to MySQL server during query 。

这里是示例代码:我想在低值到高值之间进行查询(我已经吐出 int 10k 记录)

相同的代码在没有并行处理的情况下执行。问题是什么?这是怎么解决的?

0 投票
4 回答
18047 浏览

perl - Perl DBI - 使用多个语句运行 SQL 脚本

我有一个 sql 文件 test.sql用于运行一些看起来像这样的 SQL(创建对象/更新/删除/插入)

通常,我会使用 SQLPLUS(在 Perl 中)使用这个命令来执行这个 test.sql:@test.sql

有没有办法在 Perl 中使用 DBI 做同样的事情?到目前为止,我发现 DBI 一次只能执行一条语句,并且没有“;” 在末尾。

0 投票
2 回答
2624 浏览

c++ - 是否有用于 C 和/或 C++ 的数据库访问库,具有与 Perl 的 DBI 类似的接口?

我愿意在 C++ 中为(或)编写 PerlDBI接口的子集。我相信这样做会让我更好地专注于我的目标。libodbcunixODBC

顺便说一句,我宁愿避免重新发明轮子,当然如果类似的东西已经存在的话。

0 投票
6 回答
1313 浏览

perl - 如何在 Perl DBI 日志文件中获取时间戳?

我有一个应用程序在 DBI 调用期间随机死亡的问题。我们无法在我们的测试或验收环境中可靠地重现这一点,因此我需要在我们的生产系统上对其进行监控,以试图找出正在发生的事情。

我正在通过环境变量记录所有DBI流量。DBI_TRACE

然而,问题是 DBI 日志文件中没有时间戳,因此很难通过它们来查找在死机时发生的情况。

有没有办法启用带有时间戳的 DBI 日志记录?

0 投票
2 回答
2205 浏览

sql - 为什么 $dbh->do('VACUUM') 会因 Perl 的 DBD::SQLite 而失败?

我想VACUUM在某个时间在 Perl 下的 SQLite 数据库上做,但它总是说

DBD::SQLite::db 失败:不能从事务中 VACUUM

那么我该怎么做呢?

我正在使用AutoCommit => 0. 并且错误发生在:

0 投票
1 回答
950 浏览

perl - 如何在 DBI 查询中使用变量作为表名?

如何在 DBI 查询中使用变量作为表名?我知道如何使用占位符作为 where 子句的一部分,但是如何为表名执行此操作?

我想做这样的事情:

到目前为止,我最终得到了一个 MySQL 语法错误,因为 DBI 在名称 table1 周围添加了引号。

0 投票
2 回答
2763 浏览

sql-server - 为什么在 Perl 中的浮点数上出现“将数据类型 varchar 转换为数字时出错”?

我们从 Perl 将值插入到类型为 NUMERIC(19,5) 的 SQL Server 2005 数据库列中。只要绝对值是 0.0001 或更大,它就可以工作。但是,当值到达小数点后第 5 位时,Perl 开始以指数格式(-9e-05而不是-0.00009)存储它们,然后我们Error converting data type varchar to numeric从 SQL Server 收到错误“”。我们如何防止这种情况并使其正确插入小数值?

我们使用 perl v5.8.5、DBI 1.56、DBD::Sybase 1.07 和 SQL Server 2005。

代码大致如下,但我删除了无关字段:

上面的行失败并出现错误:DBD::Sybase::st execute failed: Server message number=8114 severity=16 state=5 line=2 server=baz text=Error converting data type varchar to numeric.

0 投票
1 回答
587 浏览

perl - 如何使用 DBD::SQLite 创建表触发器?

任何人都可以提供语法来创建表触发器,最好使用 DBI 的 do() 方法。它似乎不喜欢我把所有东西都放在一条线上。不知道我做错了什么。这是我所拥有的:

0 投票
4 回答
1974 浏览

perl - 为什么这个 ISQL 命令不能通过 Perl 的 DBI 运行?

不久前,我正在寻找一种通过 isql 将值插入文本字段的方法 ,最终找到了一些适合我的加载命令。

当我尝试从 Perl 执行它时它不起作用。我收到语法错误。我尝试了两种不同的方法,但到目前为止都不起作用。

我在每个循环周期结束时打印出 SQL 语句变量,所以我知道语法是正确的,但只是没有正确理解。

这是我正在测试的最新代码片段:

@files是一个数组,其元素是管道分隔文本文件的完整路径/位置(例如 /home/xx/xx/xx/something.txt)

表中的列数与文本文件中的字段数匹配,类型检查很好(我已经手动加载了测试文件,没有失败)

我回来的错误是:

知道可能是什么原因造成的吗?


编辑 RET 和 Petr 的答案

我不得不把它改成这个,因为 die 命令会强制非自然死亡,并且语句必须用单引号括起来。