/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Forbindelse fra perl til MS-SQL
Fra : Casper A


Dato : 09-02-05 16:09

Hej,

Jeg er endt i et lille problem som jeg håber I kan hjælpe mig med.

Jeg vil gerne kunne forbinde til en Microsoft SQL server fra et Perl
script. Jeg har arbejdet med Perl før, men aldrig med databasekald.

Jeg har googlet et stykke tid og fundet mange bud med underlige moduler
som DBD::Sybase, FreeTDS, DBIx::SQLEngine ... Men uanset hvad jeg har
prøvet, så støder jeg ind i fejl i compilen, eller fejl i modul-install
fra CPAN, eller lignende.
Det er ikke samme fejl, men ingen af dem har meget lyst til at virke som
de gerne skulle...

De enkelte problemer kunne nok løses, hvis jeg vidste at jeg var på vej
den rigtige vej, men jeg er ikke meget for at spilde tiden med at komme
igennem en installation af et underligt modul, hvis det så ikke er helt
det jeg skal bruge.

Er der nogen der har erfaring med MSSQL kald fra Perl? Hvad er den
nemmeste vej?
Og er der nogen der evt. har et lille eksempel? Det hjælper jo altid på
forståelsen


Mvh
   Casper Angelo

 
 
Kåre Olai Lindbach (09-02-2005)
Kommentar
Fra : Kåre Olai Lindbach


Dato : 09-02-05 17:27

On Wed, 09 Feb 2005 16:08:33 +0100, Casper A <junk@midevil.dk> wrote:

>Jeg vil gerne kunne forbinde til en Microsoft SQL server fra et Perl
>script. Jeg har arbejdet med Perl før, men aldrig med databasekald.

Sitter du på en MS-maskin med Perl?

Dersom ja, så er det kun å opprette en ODBC-databasekilde på den
maskinen, og så bruke DBI og DBD:BC

Dersom du sitter på en Unix-lignende sak, da er FreeTDS tingen for å
få ODBC-databasekilde-funksjonalitet på den.

Ellers så er MSSQL bygd på Sybase T-SQL i sin tid, men om den matcher
lengre, vet jeg ikke...

--
mvh/Regards Kåre Olai Lindbach
(News: Remove '_delete_' and '.invalid')
(HTML-written email from unknown will be discarded)

Casper A. (09-02-2005)
Kommentar
Fra : Casper A.


Dato : 09-02-05 20:58

Jeg sidder på en linux platform.

Jeg har installeret FreeTDS, på min maskine men mangler så vidt jeg kan se en
DBD driver som Perl kan forstå. Her har jeg set på DBD::Sybase, fordi (som du
selv er inde på) at det skulle virke med MSSQL.

Desværrer kan jeg ikke få Perl til at installere DBD::Sybase, det vælter op med
fejl i test-fasen når jeg kører 'cpan DBD::Sybase'

Burde cpan systemet ikke selv holde styr på dependencies?

Mvh
   Casper.



Kåre Olai Lindbach wrote:
> On Wed, 09 Feb 2005 16:08:33 +0100, Casper A <junk@midevil.dk> wrote:
>
>
>>Jeg vil gerne kunne forbinde til en Microsoft SQL server fra et Perl
>>script. Jeg har arbejdet med Perl før, men aldrig med databasekald.
>
>
> Sitter du på en MS-maskin med Perl?
>
> Dersom ja, så er det kun å opprette en ODBC-databasekilde på den
> maskinen, og så bruke DBI og DBD:BC
>
> Dersom du sitter på en Unix-lignende sak, da er FreeTDS tingen for å
> få ODBC-databasekilde-funksjonalitet på den.
>
> Ellers så er MSSQL bygd på Sybase T-SQL i sin tid, men om den matcher
> lengre, vet jeg ikke...
>

Kåre Olai Lindbach (09-02-2005)
Kommentar
Fra : Kåre Olai Lindbach


Dato : 09-02-05 22:42

On Wed, 09 Feb 2005 20:57:48 +0100, "Casper A."
<junk.fjerndette@fwd.dk> wrote:

>Jeg sidder på en linux platform.

Viktig informasjon.

>Jeg har installeret FreeTDS, på min maskine men mangler så vidt jeg kan se en
>DBD driver som Perl kan forstå. Her har jeg set på DBD::Sybase, fordi (som du
>selv er inde på) at det skulle virke med MSSQL.

Min kjennskap til FreeTDS strekker seg kun til å bruke denne mot
DBD:BC, dvs sette opp tds til å være en slags
Unix-odbc-datakilde-applikasjon. (Hvilket jeg også trodde den nettopp
var tiltenkt å være?!)

>Desværrer kan jeg ikke få Perl til at installere DBD::Sybase, det vælter op med
>fejl i test-fasen når jeg kører 'cpan DBD::Sybase'
>Burde cpan systemet ikke selv holde styr på dependencies?

Dette må andre svare på, men det hadde vært nyttig med noen
feilmeldinger å forholde seg til.

--
mvh/Regards Kåre Olai Lindbach
(News: Remove '_delete_' and '.invalid')
(HTML-written email from unknown will be discarded)

Casper A (10-02-2005)
Kommentar
Fra : Casper A


Dato : 10-02-05 09:29

Kåre Olai Lindbach wrote:
> On Wed, 09 Feb 2005 20:57:48 +0100, "Casper A."
> <junk.fjerndette@fwd.dk> wrote:
>
>>Jeg sidder på en linux platform.
>
> Viktig informasjon.


Ja, sorry


>>Jeg har installeret FreeTDS, på min maskine men mangler så vidt jeg kan se en
>>DBD driver som Perl kan forstå. Her har jeg set på DBD::Sybase, fordi (som du
>>selv er inde på) at det skulle virke med MSSQL.
>
>
> Min kjennskap til FreeTDS strekker seg kun til å bruke denne mot
> DBD:BC, dvs sette opp tds til å være en slags
> Unix-odbc-datakilde-applikasjon. (Hvilket jeg også trodde den nettopp
> var tiltenkt å være?!)

Mit problem er, at jeg ikke helt forstår hvad der passer sammen med hvad
i hele denne DBI struktur. Jeg tror du har ret i at FreeTDS er en ODBC
connector, og så vidt jeg har forstået skal man så bruge DBD::Sybase til
at forbinde til MSSQL gennem FreeTDS.


>>Desværrer kan jeg ikke få Perl til at installere DBD::Sybase, det vælter op med
>>fejl i test-fasen når jeg kører 'cpan DBD::Sybase'
>>Burde cpan systemet ikke selv holde styr på dependencies?
>
>
> Dette må andre svare på, men det hadde vært nyttig med noen
> feilmeldinger å forholde seg til.
>

Jeg har attachet hele outputtet fra "$cpan DBD::Syabse" i en tekstfil.

Tusind tak for din hjælp

Mvh
   Casper Angelo



Morten Isaksen (13-02-2005)
Kommentar
Fra : Morten Isaksen


Dato : 13-02-05 01:59

On Wed, 09 Feb 2005 20:57:48 +0100, Casper A. wrote:

> Jeg sidder på en linux platform.
>
> Jeg har installeret FreeTDS, på min maskine men mangler så vidt jeg kan se en
> DBD driver som Perl kan forstå. Her har jeg set på DBD::Sybase, fordi (som du
> selv er inde på) at det skulle virke med MSSQL.
>
> Desværrer kan jeg ikke få Perl til at installere DBD::Sybase, det vælter op med
> fejl i test-fasen når jeg kører 'cpan DBD::Sybase'

Jeg bruger DBD::Sybase og FreeTDS på en del Linuxmaskiner uden problemer.

Lav en

export SYBASE=/usr/local

eller hvor du nu har installeret FreeTDS.

Og så:

perl -e shell -MCPAN
force install DBD::Sybase


det virker på de maskiner jeg har været i nærheden af.

--
Morten Isaksen
http://www.aub.dk/~misak/

Peter Makholm (09-02-2005)
Kommentar
Fra : Peter Makholm


Dato : 09-02-05 23:21

"Casper A." <junk.fjerndette@fwd.dk> writes:

> Desværrer kan jeg ikke få Perl til at installere DBD::Sybase, det
> vælter op med fejl i test-fasen når jeg kører 'cpan DBD::Sybase'
>
> Burde cpan systemet ikke selv holde styr på dependencies?

CPAN sørger for afhængigheder mellem perl-moduler, men CPAN tager sig
kun af perl-moduler ikke hvad ikke-perl et modul måtte være afhængig
af.

Langt de fleste af DBD-modulerne er afhængige af et databasespecifikt
library og for at oversætte DBD-modulet skal man have
udviklingsfilerne til dette library. Kun i enkelte tilfælde er dette
inkluderet i CPAN filerne (DBD::SQLite medfølges af hele sqlite
sourcen).

Hele pointen med DBD-modulerne er også at de er
database-specifikke. Det er derfor ikke forventeligt at man bare kan
bruge DBD::Sybase til at snakke sammen med en ikke-Sybase
databaseserver.


Jeg gør det ikke i windows, så jeg kan ikke hjælpe med dit konkrete
spørgsmål.

--
Peter Makholm | Emacs is the only modern general-purpose
peter@makholm.net | operating system that doesn't multitask
http://hacking.dk |

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste