问题标签 [dbd]

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 回答
9102 浏览

windows - Perl 脚本引发 oci.dll 错误,DBD

我有连接到 Oracle 数据库的 perl 脚本,打开一个文本文件并从数据库表中的文件加载数据,该脚本在我的开发机器(windows xp 32 位)上完美运行,但是当我将脚本加载到生产服务器(windows 2003 64 位)并从命令行运行它,它会打开一个 perl.exe - 无法找到组件窗口,消息说

此应用程序无法启动,因为 OCI.dll 未找到。重新安装应用程序可能会解决此问题。

命令行输出为:

install_driver(Oracle) 失败:无法为模块 DBD::Oracle 加载“C:/Perl64/lib/auto/DBD/Oracle/Oracle.dll”:load_file:%1 不是 C:/Perl64 上的有效 Win32 应用程序/lib/DynaLoader.pm 第 191 行。在 (eval 14) 第 3 行编译失败在 (eval 14) 第 3 行的要求中。可能需要的共享库或 dll 没有安装在 c:\warranty\warrantyImport.pl 行的预期位置15

我已经重新安装了 oracle 客户端,我尝试卸载活动 perl 和 oracle 客户端,然后在 perl 之前安装 oracle 客户端,因为听说这可能会导致问题。

我认为这可能是权限,所以我编写了一个简单的 perl 脚本来打开 oci.dll 并在无法打开时引发错误,它能够正确打开它。

我确保 C:\oracle\product\10.2.0\client_1\bin 在 PATH 环境变量中。

我可以使用 SQLPlus 连接到数据库

我已将 OCI.dll 添加到与 perl 脚本相同的目录中。

我现在终于没有想法了....任何人都可以提出任何建议,我正在努力让它发挥作用。

详情 服务器正在运行 ActivePerl 5.14.1 Build 1401(64 位) Oracle 数据库是 10g Oracle 客户端是 10.2.0

0 投票
2 回答
560 浏览

mysql - perl中DBD和mysql的问题

请我在追踪我已经尝试了几个小时的这段代码时遇到了问题。它给了我错误 DBD::mysql::st fetchrow_hashref failed: fetch() without execute() 在第 15 行

0 投票
2 回答
182 浏览

mysql - mysql(或DBD)处理主键中的变音符号是否存在错误?

我有一些我不明白的地方。

这是一段代码:

当表umlaute上没有主键时,它将按我认为的那样工作。但是,如果我“启用”主键,它将失败。有趣的是,脚本设法插入了äö而不是ü

任何关于为什么这不起作用的提示都值得赞赏。这很可能是我没有发现的东西,所以四只眼睛看到的不止两只。

0 投票
4 回答
3789 浏览

mysql - 任何人都能够在带有 i5 处理器的 Mac Snow Leopard 上安装 DBD::mysql 吗?

我正在尝试使用大多数流行的方法安装 DBD::mysql,包括sudo cpanm -S DBD::mysql. 但是,我遇到了一些严重的问题,我开始认为它可能是我的处理器。我已经成功地在许多计算机上安装了它,但是自从我的 IT 部门给了我这台 i5 MacBook Pro 之后,每次都没有运气。有其他人能够在 i5 上安装 DBD::mysql 吗?我正在运行 Mac OS 10.6.8。

这是运行后的 build.log cpanm。任何帮助,将不胜感激。谢谢!

我已经尝试过了sudo cpanm -Sf DBD::mysql。使用 force 标志,cpanm 表示它已成功安装,但是尝试运行包含连接到 MySQL 数据库的脚本会导致以下错误:

0 投票
1 回答
534 浏览

mysql - Perl DBD::mysql 'mysql_use_result' 在插入另一个表时可以使用吗?

我正在 mysql 中进行大型连接,然后对结果数据进行操作并将其写入另一个表。现在,我使用的是默认的 mysql_store_result,但是查询后的 $sth->execute() 需要大约 20 分钟才能运行。我想切换到 mysql_use_result 因为我一次只处理一行。

但是,这部分文档让我很困扰:

此属性强制驱动程序使用 mysql_use_result 而不是 mysql_store_result。前者速度更快,内存消耗更少,但往往会阻塞其他进程。(这就是为什么 mysql_store_result 是默认值的原因。)

我一次只处理一行,然后将结果存储在一个数组中。每 500 个条目,我将插入一个单独的表。在 mysql_use_result 循环中可以这样做吗?如果我为 INSERT 定义一个新的 DB 处理程序,可以这样做吗?

0 投票
2 回答
1173 浏览

perl - 使用 Perl DBD 从 MS SQL Server 获取数据时的特殊字符处理

我有一个 MS SQL Server 2008 数据库,我使用 perl DBD::Sybase 模块从中获取数据。但数据库中有一些特殊字符,如版权符号、商标符号等,无法正确导入。Perl 似乎将所有这些特殊字符都更改为问号字符。有没有办法来解决这个问题?

我试过charset=utf8在连接字符串中指定。该文档提到了一个syb_enable_utf8 (bool)设置,但是每当我尝试这样做时,都会出现错误:

0 投票
2 回答
339 浏览

perl - Perl DBI 占位符中的最大 NUM_OF_PARAMS 是多少

单个语句中允许的最大占位符数量是多少?即属性上限NUM_OF_PARAMS.

我遇到了一个奇怪的问题,我尝试调整插入的多行的最大数量,即将数量设置为 20,000 会给我一个错误,因为它$sth->{NUM_OF_PARAMS}变成了负数。

将最大插入次数减少到 5000 可以正常工作。

谢谢。

0 投票
1 回答
472 浏览

mysql - Perl 脚本中的 MySQL 错误代码 2

我在 Perl 中创建了一个 ETL 工具。ETL 工具正在与之通信的三个数据库服务器,例如 dbserver1(OLTP 服务器 - Windows Box)、dbserver2(登台服务器 - linux Box)、dbserver3(OLAP 服务器、linux Box)。我的 ETL 脚本在 dbserver 2 上。

脚本从 dbserver1 读取数据并将其带入 dbserver2 进行一些转换,执行转换,然后将数据放入 dbserver3。为了实现这一点,脚本在 dbserver2 上创建了一些 OUTFILE 数据。所以有两种类型的 OUTFILE 查询:

  1. 在 dbserver1 上运行的 OUTFILE 查询在 dbserver2 上创建 .data 并
  2. 在 dbserver2 上运行的 OUTFILE 查询会在 dbserver2 上创建 .data 文件。

第二个查询工作正常,因为它在同一台服务器上创建一个文件。但是第一种类型的查询给了我以下错误:

我想这与某些用户权限有关。如果我没记错的话,dbserver2 上的 MySQL 有权读取/写入 dbserver2,但 dbserver1 上的 MySQL 没有。

难道是因为 dbserver1 是 Windows 而 dbserver2 是 Linux 机器?

我该如何解决这个问题?

仅供参考:文件格式是:dumpfile.yyy-mm-dd-hh:mm.data,我还为 dbserver2 上的 MySQL 设置了 AppArmor 设置,这适用于 dbserver2 上的 MySQL。

0 投票
3 回答
235 浏览

c - 如何将具有字符指针的 C 结构插入 DBD 文件

我正在从我制作的文件系统更改为 DBD。

而且我没有选择转换具有字符点成员的结构以将这些结构插入 DBD 文件

例如,如果有如下结构

我做了一个结构来转换如下

但是,有太多的结构需要转换。

因此,考虑到性能,我正在寻找将这些结构插入 DBD 文件的最有效方法。

坦率地说,我并不熟练。请尽可能具体地描述。

谢谢~

0 投票
2 回答
1336 浏览

mysql - 安装 DBD::mysql 时缺少 mysql_config 错误

我看到Trying to install Perl-Mysql DBD, mysql_config can't be found,并试图找到 mysql_config,但没有找到。所以,我尝试安装 mysql-devel,然后我得到这个错误 -