问题标签 [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 投票
1 回答
464 浏览

sql - DBD::ODBC 与 win32::odbc

我想知道使用其中一个的优点和缺点是什么。这个问题源于我在这里得到的一个建议:根据记录的实际大小为数据库查询动态分配缓冲区
我正在寻找一个重要差异的列表(而不是一个详尽的列表),这将帮助我做出有根据的决定。我有使用 win32::odbc 的工作经验,可以真实地证明这一点。如果有人可以在“枯燥”的记录细节之上分享他/她的经验,那将非常有帮助。

附加信息:Win32::ODBC 的作者在这里写道:http ://www.roth.net/perl/odbc/docs/ODBC_Docs.htm -“Win32::ODBC 有几种替代方案,例如数据库接口( DBI) 版本称为 DBD::ODBC。此 ODBC Perl 扩展可用于不同平台,例如 Mac 和 UNIX。它是用于 ODBC 访问数据库的好工具,尽管它缺少 Win32::ODBC 具有的一些功能。 " 我想知道您是否知道它缺少什么功能。

0 投票
0 回答
444 浏览

oracle - Error using DBD::Oracle package with Parallel::ForkManager after migrating from 5.8 to 5.10

I had a simple perl scrip that runs some DB opertions on using DBD::Oracle package and also forks some processes. Child processes also connects with DB but creates there own DBH object. This was working fine until I migrated from Linux RH4 to Linux RH6. With OS migration perl version also changed from 5.8 to 5.10. On migration I face error as foll following:


My perl script:


The above error gets repeated 100 times.

If I remove ForkManager scrpts works just fine. I am not sharing DBH in Parent with Child, hence I am bit surprised to see this error.

Please advice on reason of this error and how to get this fixed.

0 投票
1 回答
5797 浏览

perl - 无法安装 DBD::pg perl 模块

我正在尝试在我的 linux ubuntu 12.04 机器上安装 DBD::pg 模块,但无法这样做。我正在使用下载方法,因为我在从 CPAN 终端安装它时遇到连接问题。当我运行 perl Makefile.PL 它给了我以下信息。

我不知道在上述问题中要输入什么,但我仍然手动创建了几个目录并按上述方式提供。

然后它给了我这个

后来当我运行 make 它多次给我以下错误

如何成功安装此模块?我发现很少有类似的问题,但找不到解决方案。请帮忙。

0 投票
1 回答
90 浏览

mysql - Win8.1无法安装DBD-mysql

我在win8环境下安装DBD-mysql,但是报错如下。

我使用 ActivePerl 5.10、mysql 5.5。谁能帮我?

事实上,我不想从源代码安装。但是要找到一个 ppm 包并不容易。

如果不添加某些系统路径,则很容易处理。但是这个错误显示需要一些windows库,然后我真的不知道如何设置以及在哪里设置,因为这意味着我应该更改DBD-mysql的源代码?但是每次我使用'perl -MCPAN -e "install DBD::mysql"'命令安装时,它都会下载一个新的DBD-mysql包,所以即使我在本地修改了代码,它也没有用。

0 投票
2 回答
806 浏览

perl - 使用 dbd:sybase 连接到 sybase 数据库时出错

我已经编译了 dbd-sybase 模块(1.07) 以将其添加到我在 windows 上的 perl(5.12.3) 中。但是,当我尝试使用以下脚本使用它时:

我收到以下错误消息:

有人可以帮助解决此错误消息。

0 投票
1 回答
1553 浏览

mysql - DBD:无法使用 HTTP 基本身份验证使用 MySql DB 加载驱动程序文件 apr_dbd_mysql.so

在我决定从基于文件的身份验证转移到基于数据库的身份验证后,重新启动我的 apache 时出现此错误:


为什么会发生这种情况?
我浏览了互联网,在很多地方都写到依赖包现在已被弃用,无法安装 libapache2-mod-auth-mysql 包。我正在使用亚马逊 Linux。

0 投票
1 回答
311 浏览

apache - mod_perl 下的 DBD::Oracle、游标和环境

需要一些帮助,因为我找不到任何解决 DBD::Oracle 问题的方法。

所以起初,这是目前的情况:

  • 我们公司正在使用 mod_perl 2.0.4 运行 Apache2
    • Apache Web 服务器设置了一个启动脚本,该脚本设置了一些环境变量(LD_LIBRARY_PATH、ORACLE_HOME、NLS_LANG)
    • 在 httpd.conf 中还有 LD_LIBRARY_PATH 和 ORACLE_HOME 的环境变量(通过 SetEnv)
  • 我们一般使用带驱动程序 DBD::Oracle 的 perl 模块 DBI 来连接我们的主数据库
    • 在我们创建一个新的 DBI 实例之前,我们还要设置一些 perl 环境变量(%ENV)。我们正在设置 ORACLE_HOME 和 NLS_LANG。

到目前为止,这工作正常。但是现在我们正在扩展我们的系统并且需要连接到远程数据库。同样,我们使用 DBI 和 DBD::Oracle。但是现在有一些新的条件:

  • 新连接必须与现有连接并行运行
  • 新连接的 TNSNAMES.ORA 放置在不同的位置(不是 $ORACLE_HOME.'/network/admin')
  • 新的数据库内容由存储过程提供,我们使用 DBD::Oracle 和游标获取这些内容(如下所述:https ://metacpan.org/pod/DBD::Oracle#Binding-Cursors )
  • 存储过程返回对象类型和集合类型,包含 oracle 类型 DATE 的属性
    • 为了以可读格式获取这些日期,我们设置了一个新的环境变量 $ENV{NLS_DATE_FORMAT}
    • 为了确保日期格式,我们另外更改了会话alter session set nls_date_format ...

好的,这也很好用。但前提是我们在控制台上建立新的连接。脚本找到了新的 TNS 位置,可以建立连接,并且通过游标从过程中获取数据也可以正常工作。所有 DATE 类型均按指定格式设置。

现在,如果我们尝试在 apache 环境中建立这个连接,它会失败。起初,DBI/DBD::Oracle 无法解析数据源名称。我认为这是因为我们的新 TNSNAMES.ORA 文件或者 DBI/DBD::Oracle 在 Apache 上下文中找不到该位置(由 $ENV{TNS_ADMIN} 发布)。但是不知道为什么???

第二个问题是(如果我为我们的第一个问题创建了一个肮脏的解决方法)$ENV{NLS_DATE_FORMAT} 发布的日期格式仅适用于我们的光标选择的第一级。

上面的示例返回包含日期属性的对象的集合类型。在 Apache 上下文中,无法识别 NLS_DATE_FORMAT 发布的格式。如果我使用这样的示例的简单形式

结果(单个日期字段)格式正确。所以我认为从属结构没有格式化,因为 $ENV{NLS_DATE_FORMAT} 仅在控制台上下文中有效,而在 Apache 上下文中也无效。

所以在Apache和mod_perl下运行的perl环境变量(%ENV)肯定有问题。也许是 mod_perl 的问题?

我已经黔驴技穷了。也许全世界的任何人都有一个解决方案......请原谅我的英语:-)如果您需要进一步的解释,我会尝试更准确地定义它。

0 投票
4 回答
420 浏览

mysql - 为什么 DBD::mysql 不会在 Perl Package Manager 4.19 Perl 版本 5.20 中退出?

我想在 Perl 5.20 版中安装 DBD:mysql,但是在 PPM 中,当我在搜索框中键入 DBD:mysql 时它根本不存在。那么问题是什么?我该如何解决。

在此处输入图像描述

0 投票
3 回答
177 浏览

mysql - 为什么 Perl DBI 转义从 MySQL 检索的值?

0 投票
1 回答
3747 浏览

apache - Apache ServerName * 通配符不适用于 vhost_dbd_module

我正在尝试使用 vhost_dbd_module 将我的虚拟主机迁移到 mysql 数据库。

在我在网上找到的各种示例中,他们指示我在 VirtualHost 中使用“ServerName *”作为通配符。

当我以这种方式配置我的 VirtualHost 时,服务器只是默认回到默认的 DocumentRoot。它不查询mysql数据库。

但是,当我将其更改为此(将 ServerName 指定为 domain.tld)时,它可以正常工作(查询数据库以获取 domain.tld 并返回正确的 documentroot 以获取 domain.tld)

任何想法什么是错误配置?