I'm running ActiveState perl 5.8.0 on a WIN2K box with MS SQL Server 2000.

Recently I updated DBD-ODBC to v1.05 and DBI to v1.35

Now I get the following errors executing some sql commands

CREATE SQLSTMT:[CREATE DATABASE POMS_SER ON (NAME = 'POMS_SER_DAT', FILENAME = 
'd:\Database\POMS\POMS_SER_Data.MDF', SIZE = 10MB) LOG ON ( NAME = 'POMS_SER_LOG', 
FILENAME = 'd:\Database\POMS\POMS_SER_Log.MDF', SIZE = 5MB)]

DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver][SQL Server]The 
CREATE DATABASE process is allocating 10.00 MB on disk 'POMS_SER_DAT'. (SQL-01000)
[Microsoft][ODBC SQL Server Driver][SQL Server]The CREATE DATABASE process is 
allocating 5.00 MB on disk 'POMS_SER_LOG'. (SQL-01000) at 
D:\Transportation\POMS\Tools\Scotts_Unified_POMS_Install.pl line 766.

Database POMS_SER Created!

EXEC SQLSTMT:[USE POMS_SER
exec sp_grantdbaccess 'LLVAH-STRICSC\IUSR_POMS_SER', 'IUSR_POMS_SER']

DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver]Invalid cursor state 
(SQL-24000)(DBD: dbd_describe/SQLNumResultCols err=-1) at 
D:\Transportation\POMS\Tools\Scotts_Unified_POMS_Install.pl line 827.
Can't execute statement
USE POMS_SER
exec sp_grantdbaccess 'LLVAH-STRICSC\IUSR_POMS_SER', 'IUSR_POMS_SER'
[Microsoft][ODBC SQL Server Driver]Invalid cursor state (SQL-24000)(DBD: 
dbd_describe/SQLNumResultCols err=-1) at 
D:\Transportation\POMS\Tools\Scotts_Unified_POMS_Install.pl line 827.

Code fragments that generated this follow;

 my $the_odbc = 'dbi:ODBC:LocalServer';

  my $dbh = DBI->connect($the_odbc, '', '', {RaiseError=>0});

  my $sqlstmt_s = "CREATE DATABASE $db_name";
  $sqlstmt_s .= " ON (NAME = \'$db_logical_name\', FILENAME = \'$db_file_name\', SIZE 
= $db_size)";
  $sqlstmt_s .= " LOG ON ( NAME = \'$tlog_logical_name\', FILENAME = 
\'$tlog_file_name\', SIZE = $tlog_size)";
  print "CREATE SQLSTMT:[$sqlstmt_s]\n";
  my $sth_s = $dbh->prepare($sqlstmt_s) || die "Can't prepare 
statement\n$sqlstmt_s\n$DBI::errstr";
  my $rc = $sth_s->execute || die "Can't execute statement\n$sqlstmt_s\n$DBI::errstr"; 
#### LINE 766
  $sth_s->finish;
  print "Database $db_name Created!\n";

  $sqlstmt_s = "USE $db_name";
  $sqlstmt_s .= "\nexec sp_grantdbaccess \'$db_user_and_domain\', \'$db_user\'";
  print "EXEC SQLSTMT:[$sqlstmt_s]\n";
  $sth_s = $dbh->prepare($sqlstmt_s) || die "Can't prepare 
statement\n$sqlstmt_s\n$DBI::errstr";
  $rc = $sth_s->execute || die "Can't execute statement\n$sqlstmt_s\n$DBI::errstr"; 
##### LINE 827
  $sth_s->finish;


E. Scott Stricker - NGIT @ Smartlink

Reply via email to