我正在将perl脚本从DBlib转换为DBI以进行sybase连接。我正在实施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,"","");
我在cpan.org找到了关于DBI scriptName的信息。
SCRIPTNAME
指定将在sp_who中显示的此连接的名称(即在program_name列的sysprocesses表中)。
答案:dblib中的第四个参数和dbi中的scriptName设置sysprocess表中的program_name列。这可以在日志中使用并监视数据库。
答案 0 :(得分:1)
我相信MS SQL Server中的AppName连接字符串属性基本上都在sysprocesses表中(因此sp_who)结束,而SQL Server起初就像Sybase一样。我认为Sybase :: DBlib中的$ appname相当于DBD :: Sybase中的ScriptName。我现在无法证明这一点,因为我不再拥有Sybase。