第四个参数到DBI Connect的Sybase Perl DBLib映射

第四个参数到DBI Connect的Sybase Perl DBLib映射,perl,sybase,kerberos,dbi,Perl,Sybase,Kerberos,Dbi,我正在将用于sybase连接的perl脚本从DBlib转换为DBI。我正在实现kerberos。DBLib连接中的第四个参数(perl脚本的名称)和DBI中的等效参数的功能是什么? 例如,DBLib连接: $dbh = new Sybase::DBlib $USER, $PASS, $SRV, "file.pl"; 这等于- $dsn = "dbi:sybase:server=$SRV;kerberos=$kerbprincipal;scriptName=file.pl"; $

我正在将用于sybase连接的perl脚本从DBlib转换为DBI。我正在实现kerberos。DBLib连接中的第四个参数(perl脚本的名称)和DBI中的等效参数的功能是什么? 例如,DBLib连接:

$dbh     = new Sybase::DBlib $USER, $PASS, $SRV, "file.pl";
这等于-

$dsn = "dbi:sybase:server=$SRV;kerberos=$kerbprincipal;scriptName=file.pl";    
$dbh = DBI->connect($dsn,"","");
我从中找到了关于DBI脚本名的以下内容

脚本名

指定此连接的名称,该名称将显示在sp_who中(即在program_name列的SYSPROCESS表中)



Answer:dblib中的第四个参数和dbi中的scriptName设置sysprocess表中的program_name列。这可以用于日志和监控数据库。

我相信MS SQL Server中的AppName连接字符串属性基本上会出现在sysprocesss表中(因此sp_who),SQL Server的生命开始于Sybase。我认为Sybase::DBlib中的$appname相当于DBD::Sybase中的ScriptName。我现在无法证明这一点,因为我不再拥有Sybase。

谢谢bohica的回复。Sybase还有sysprocesses表。我今天用sybase测试了它。我能够查询sysprocesss表。它是有效的。现在修改我的问题。请注意,scriptName字符串的长度不能超过15个字符左右,其余的将被截断。(这可能在最新的Sybase ASE版本中有所改变?)。这是一个有用的信息。