in reply to windows sybase error messages

DBI connect('host=testserver.internal.com;port-7100;database=Reportingdb','sa',...)

Maybe that "port-7100" would work better if it read "port=7100"?

--
edan

Replies are listed 'Best First'.
Re^2: windows sybase error messages
by martymart (Deacon) on Aug 26, 2004 at 15:44 UTC
    Hi There,
    Actually, I think you could be wrong there. I got this syntax from http://search.cpan.org/~mewp/DBD-Sybase-1.04/Sybase.pm.
    If you built DBD::Sybase with OpenClient 12.5.1 or later, then you can use the host and port values to define the server you want to connect to. This will by-pass the server name lookup in the interfaces file. This is useful in the case where the server hasn't been entered in the interfaces file.
    $dbh = DBI->connect("dbi:Sybase:host=db1.domain.com;port-4100",$user, $passwd);

    Plus, this script does work fine on my other linux machine. Although I know where you're coming from as I made the same mistake myself cause I used to connect to mysql databases. If I was to connect to mysql it would look like:
    $dbh = DBI->connect("DBI:mysql:database=$database;host=$host;port=$port", "$username","$password")

    Martymart
      $dbh = DBI->connect("dbi:Sybase:host=db1.domain.com;port-4100",$user, $passwd);
      Oops!

      Will be fixed in the next version... :-)

      Michael

      That's what we call in professional lingo a "typo". I couldn't imagine that the dsn for DBD::Sybase would have a wacky non-standard way of specifying just the port, so I had to consult the source (http://search.cpan.org/src/MEWP/DBD-Sybase-1.04/dbdimp.c):

      if(strchr(dsn, '=')) { extractFromDsn("server=", dsn, imp_dbh->server, 64); ... blah blah blah ... extractFromDsn("host=", dsn, imp_dbh->host, 64); extractFromDsn("port=", dsn, imp_dbh->port, 20); extractFromDsn("maxConnect=", dsn, imp_dbh->maxConnect, 25);

      As you can see, it is clearly looking for "port=", and not "port-". Why your dsn would would work with "port-" is beyond me. *shrug*

      --
      edan

        Good catch. You should report it to mpeppler, either as a /msg here, or to his email listed on his home page.

        yeah it looks like you're right, I stand corrected! I suppose I shouldn't rely so much on the documentation!
        Martymart