如何在TheSchwartz中将数据库从MySQL更改为Oracle
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在TheSchwartz中将数据库从MySQL更改为Oracle相关的知识,希望对你有一定的参考价值。
我想在Perl的TheSchwartz模块(即作业队列系统)中将数据库从mysql切换到Oracle。我怀疑以下代码有关键。
my $client = TheSchwartz->new(
databases => [{
dsn => 'dbi:mysql:TheSchwartz',
user => 'dbi',
pass => 'xxxxxxx',
}],
verbose => 1,
);
我改变了代码。
dsn => 'dbi:mysql:TheSchwartz',
至
dsn => 'dbi:Oracle:OraDB01',
然后我收到了消息。
#Disabling DB 9e410d44ac4b9ede28c9ef34f6c1e817 because unknown
TheSchwartz没有告诉我任何有关Oracle错误的线索(ex密码错误或网络错误......)。
我的问题是 1.是否可以在perl的TheSchwartz中使用Oracle? 2.对于dubugging,如何在TheSchwartz中获取ORA-Error消息?
任何帮助都会受到欢迎。 问候,
使用TheSchwartz几乎肯定是一个完整的红鲱鱼。 TheSchwartz只是创建了一个DBI连接。因此,一旦您可以在TheSchwartz之外成功创建DBI连接,您应该能够做同样的内部人TheSchwartz。
我接近它的方式分为两个阶段:
- 编写一个简单的DBI程序来连接Oracle数据库。
- 将成功的连接详细信息复制到TheSchwartz代码中。
我写的简单DBI程序,只需要像这样简单:
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $dbh = DBI->connect('dbi:Oracle:OraDB01', 'dbi', 'xxx')
or die $DBI::errstr;
这可能会以与现有代码相同的方式失败,但是您将获得原始DBI连接错误,这应该允许您解决问题所在。
显然,你可能会发现DBD::Oracle documentation也很有用。
以上是关于如何在TheSchwartz中将数据库从MySQL更改为Oracle的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Rails 中将我的数据库从 SQLite 更改为 MYSQL
如何从 MySQL 查询中将 json 返回到 GraphQL?
如何在使用 mysql npm 的查询中将 *array of objects* 从 MySQL 返回到 Node js 服务器?