Avatar billede knisse Nybegynder
29. maj 2002 - 10:46 Der er 8 kommentarer og
1 løsning

Forbindelse til en microsoft sql server

jeg skal lave et perl script der kan håndtere et udtræk fra en ms sql database. Jeg skal teste programmet mod en sql server, så det letteste for mig er at få en forbindelse der kan hente data fra en sql server der ikke kører på localhost, men kører på en IP jeg har.

Men hvordan får jeg lavet den forbindelse i Perl?
Jeg skal bruge et script hvor jeg blot skal indsætte IP, databasenavn, password og username.

/Kris
Avatar billede enobe Nybegynder
29. maj 2002 - 15:56 #1
use constant    DATA    =>    'driver=Microsoft Access Driver (*.mdb);
+dbq=data.mdb';

my $db_connection = new Win32::OLE('ADODB.Connection');
    my $rs = new Win32::OLE("ADODB.Recordset");

    # Connect to the database and tie the recordset object to
    # the database.
    $db_connection->Open(DATA);


    # Set the connection doohickey
    # $rs->CursorLocation(adUseClient);

    my $sql = "select c.info from MYTABLE as c;";
   
    $rs->Open($sql, $db_connection, adOpenKeySet);
   
    if($rs->BOF())
    {
        return;
    }

    my $data = $rs->getrows();
   
    return unless defined($data->[0][0]);
    return $data->[0][0];

Læs eventuelt mere : http://www.perlmonks.org/index.pl?node_id=138379
Avatar billede knisse Nybegynder
29. maj 2002 - 15:59 #2
tak for det, men jeg skal ikke bruge det til en access database, men en sql server database.

Kan du klare den?
Avatar billede thomasledet Nybegynder
02. juni 2002 - 13:07 #3
Du kan bruge DBD::Sybase driveren til at connecte til Microsoft SQL server 2000....

du kan bruge fx cpan til at installere denne på din maskine... hent dernæst freetds fra www.freetds.org

tar xvfz freetds-0.53.tgz
make
make install


hvis du bruger bash kan du dernæst "export SYBASE=/usr/local/freetds

kode eksempel:

#!/usr/bin/perl

use DBI;

$user = 'sa';
$password = 'password';

$dbh = DBI->connect('DBI:Sybase:server=file1',$user,$password);
$dbh->do("use Northwind");

$action = $dbh->prepare("sp_help");
$action->execute;
$rows = $action->rows;
print("rows is $rows\n";

while (@first = action_>fetchrow_array) {
foreach $field (@first) {
print("$field\t");
}
print("\n");
}

exit(0);
Avatar billede thomasledet Nybegynder
02. juni 2002 - 13:10 #4
endvidere kan du få meget ud af at læse artiklen i Linux Journal fra April 2002... her behandler de netop denne problemstilling...

bladet kan måske findes på biblioteket - ellers tror jeg du kan bestille det online, enten ved at skrive til subs@ssc.com eller ved at besøge http://www.linuxjournal.com
Avatar billede thomasledet Nybegynder
02. juni 2002 - 13:14 #5
Avatar billede thomasledet Nybegynder
02. juni 2002 - 13:16 #6
en beskrivelse af installationen af DBD::Sybase og freetds kan ses her:

http://www.hklc.com/infocenter/670.html
Avatar billede knisse Nybegynder
03. juni 2002 - 14:22 #7
thomasledet jeg er grøn i det her. Men kan du forklare mig nærmere hvilket Module præcist det er jeg skal hente, og hvordan jeg installerer det...
Avatar billede thomasledet Nybegynder
03. juni 2002 - 14:42 #8
knisse... kig på mit post af 02/06-2002 13:16:06

>>
en beskrivelse af installationen af DBD::Sybase og freetds kan ses her:

http://www.hklc.com/infocenter/670.html
<<

der står det alt sammen... kig nu lige de links, jeg har postet... de er ment som en hjælp...
Avatar billede knisse Nybegynder
03. juni 2002 - 15:14 #9
Nu har jeg hentet freetds-0.53tgz fra http://www.freetds.org/software.html
og DBD-Sybase-0.94.tar.gz fra http://cpan.valueclick.com/modules/by-category/07_Database_Interfaces/DBD/. Jeg kan forstå på det hele at jeg skal installere dem via promtboxen, men der får jeg brug for mere info. Jeg ved godt at der er en forklaring på http://www.hklc.com/infocenter/670.html men der er sort snak. Jeg er alt for vant til en wizard når jeg skal installere den slags.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester