【发布时间】:2015-08-28 19:29:53
【问题描述】:
我正在尝试在我们的生产环境中连接到我们的数据库。我收到 107 ISAM 错误:记录已锁定。我已经检查了各种关于它可能是什么的文章,但没有运气。我与我们的 DBA 仔细检查了数据库详细信息,并且信息正确。
仅供参考 - 我收到的“记录已锁定”错误之前的第一个错误是 SQL: -931: Cannot locate web1_tcp service/tcp service in /etc/services.在 test_db_connectivity.pl 第 13 行。。我与我们的 SA 合作将其输入,并且不再出现。任何人都可以提供有关 ISAM 107 错误的任何指导吗?我的连接字符串错了吗?不应该有锁,因为我什至没有打开与数据库的连接。
test_db_connectivity.pl:
#/usr/bin/perl -w
use DBI;
use strict;
use DBI qw(:sql_types);
use DBD::Informix qw(:ix_types);
my $driver = "Informix";
my $database = "web1";
my $dsn = "DBI:$driver:dbname=$database";
my $userid = "user";
my $password = "password";
print "I got this far!\n";
my $dbh = DBI->connect($dsn, $userid, $password, {RaiseError => 1}) or die $DBI::errstr;
print "Opened db successfully\n";
$dbh->disconnect();
部分变量设置:
export INFORMIXDIR=/opt/informix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/tools
export INFORMIXSERVER=web1
INFORMIX SQLHOSTS 文件:
#dbservername 网络类型主机名服务名选项
web1 onsoctcp 10.199.***.* web1dev1_tcp
等/服务文件:
web1dev1_tcp 1533/tcp # 分配给数据库的端口
virtual-places 1533/tcp #Virtual Places 软件
web1dev1_tcp 1533/udp # 分配给数据库的端口
【问题讨论】:
-
这是在 VM 主机上。所以这将是一个远程连接。是否有不同的格式可以做到这一点?