S3v3n11 has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I have a script that backs up our SQL Server databases. It was working fine until I added a SQL Server 2005 into the mix.

Here are some details:

Installed software/modules.:

DBD-ODBC 1.13 ODBC Driver for DBI:
DBI 1.48 Database independent interface for Perl::

This is perl, v5.6.1 built for MSWin32-x86-multi-thread (with 1 registered patch, see perl -V for more detail):
:
Copyright 1987-2001, Larry Wall:

Binary build 635 provided by ActiveState Corp. http://www.ActiveState.com:
Built 15:34:21 Feb 4 2003:

When I try to run this command I get this error::

backup database [Foo] to disk = N'Foo_Docuware_Datafile.bak' with noinit':

DBD::ODBC::st execute failed: MicrosoftODBC SQL Server DriverInvalid cursor state (SQL-24000)(DBD: dbd_describe/SQLNumResultCols err=-1) at \\sqlprd-dbs\e$\scripts\BackupDatabases.pl line 81.:

Anyone have any ideas?:

Thanks!

Replies are listed 'Best First'.
Re: SQL Server 2005 Connection
by erroneousBollock (Curate) on Mar 22, 2007 at 13:22 UTC
    Works for me ;)

    I have:
    • ActiveState Perl 5.8.8 (build 817)
    • DBI v1.53
    • DBD::ODBC v1.13
    All of the following datasource strings work:
    • for SQLServer Express 2005: 'dbi:ODBC:Driver={SQL Server};SERVER=.\SQLExpress;'
    • for SQLServer 2005: 'dbi:ODBC:Driver={SQL Server};SERVER=123.123.123.123;'
    • DSN-based: 'dbi:ODBC:DSN=mydsn1'

    Perhaps you might try upgrading your perl.

    -David
      Thanks for the quick response. I kind of did that. I upgraded to perl 5.8.8 and I am using the Win32::SqlServer module and all is well.

      Thanks again!