Newsgroup: it.comp.lang.perl
Titolo: SQL Server

C'è un database SQL Server disponibile via TCP/IP ad un certo numero di IP
(NB: numero e non nome).
Lo scopo sarebbe quello di interfacciare il DB via web, dove il cgi-perl sta
su un host da qualche parte negli USA, accessibile normalmente via web,
mentre il DB sta in una LAN, accessibile al solo cgi attraverso internet .
... sarei già contento riuscissi ad ottenere una connessione con sto c...o
di  DBD::ODBC !!!
C'è qualcuno che sa dirmi dove trovare documentazione decente su DBD::ODBC e
su ODBC in generale? Nel modulo non c'è quasi nulla.
In alternativa... come dovrei scrivere un DSN che non mi dia errore? Avrei
il numero di IP, il nome del DB, accout e password. Quello che scrivo qui è
corretto o dovrei aggiungere/cambiare qualcosa?
use DBI;
my $DSN = 'database=DOMIZIO;host=66.98.93.5;port=1433';
my $dbh  = DBI->connect("dbi:ODBC:$DSN", 'domizio', 'pippo') or die
"$DBI::errstr\n";
l'errore è:
DBI->connect(database=DOMIZIO;host=66.98.93.5;port=1433) failed:
[Microsoft][ODBC Driver Manager] Invalid string or buffer length
(SQL-S1090)(DBD: db_login/SQLConnect err=-1) at ... etc. etc.
Grassssssie
--
-.. --- -- .. --.. .. ---
-.. . -- .. -.-. .... . .-.. .. ...

 (NB: numero e non nome).
Ti rispondo senza sapere, dato che DBI l'ho usato ma senza studiare ancora a
fondo le diverse possibilita, ma su questo link trovi un articolo che spiega
come collegarsi a un DB tramite ADO...
http://msdn.microsoft.com/library/default.asp?URL=/library/en-us/dnclinic/html/scripting012299.asp
ciao,
Paulus
http://spazioweb.inwind.it/it_informatica
--------------------------------
Inviato via 
http://usenet.libero.it

Ti rispondo prima di leggerlo (l'ho solo guardato superficialmente). GRAZIE.
Sembra ci siano cosucce interessanti. Magari butto alle ortiche ODBC e uso
ADO, che chissà mi dia meno problemazzi. Comunque sarebbe già bello
riuscissi a leggere da qualche parte quali sono le differenze :-).
ciao
--
-.. --- -- .. --.. .. ---
-.. . -- .. -.-. .... . .-.. .. ...
"Paulus" <xxx...@xxxx.xx> wrote in message
news:193Z70Z162Z78Y1...@usenet.libero.it...


 riuscissi a leggere da qualche parte quali sono le differenze :-).
sono diverse, ma la più interessante e' che, appoggiandosi allo strato
OLEDB, ti permette di collegarti non solo ai DB ma anche ad altri tipi di
server o programmi (come exchange, excell, ecc).
inoltre, è più veloce :)


Senti, sto diventando matto a cercare documentazione su come scrivere un DSN
che sia accettato senza errori. Sai mica dove potrei cercare?
ciao
--
-.. --- -- .. --.. .. ---
-.. . -- .. -.-. .... . .-.. .. ...
"Paulus" <xx...@xxx.xx> wrote in message
news:193Z70Z162Z78Y...@usenet.libero.it...


 che sia accettato senza errori. Sai mica dove potrei cercare?
Senti un po'... ma tu ti sei creato sul tuo PC il collegamento ODBC ???
dipende dalla versione di windows che usi, ma lo trovi quasi sicuramente
sotto "STRUMENTI DI AMMINISTRAZIONE" - "ORIGINE DATI ODBC"...
Ripeto, non ho usato a fondo DBI, ma credo proprio che prima dovresti
crearti il driver con il database che vuoi raggiungere (cosi funziona con
vbscript, asp, visual basic... non vedo perche' non dovrebbe essere vero con
perl...)
fammi sapere !!!!


Questa è una info interessante.... ho XP inglese e ho trovato "ODBC Data
Source Administrator".... cercherò di capire come fare, comunque poi come
farò per fare la stessa cosa da Solaris 2.6?
--
-.. --- -- .. --.. .. ---
-.. . -- .. -.-. .... . .-.. .. ...
"Paulus" <xx...@xxxx.xx> wrote in message
news:193Z70Z162Z78Y1...@usenet.libero.it...


 sotto "STRUMENTI DI AMMINISTRAZIONE" - "ORIGINE DATI ODBC"...
Pensandoci meglio... da perl non dovresti avere bisogno di fare ciò, perché
è il modulo che si occupa di dialogare con il driver, quindi teoricamente
dovrebbe bastare un DSN scritto in modo che il modulo lo passi al driver
correttamente. Comunque dal data source administrator posso verificare se mi
posso collegare al DB, e sarebbe già un vantaggio :-)


>comunque poi come farò per fare la stessa cosa da Solaris 2.6?
Non sono mica cosi sicuro che da Solaris puoi usare ODBC (è una tecnologia
microsoft), ma forse è il caso che posti la domanda su it.comp.os.unix (ma
ti devo avvertire che li sono abbastanza "tirchi" nel dare informazioni...)
Comunque chiederò ad un collega che ci lavora su Solaris e se so qualcosa te
la faccio sapere.


 microsoft),
questo l'ho già verificato... e poi DBD::ODBC è fatto apposta


 ha scritto nel messaggio
news:aoiahn$lsq7m$1...@ID-159100.news.dfncis.de...


 ha scritto nel messaggio
news:aokf2p$8ui$1...@lacerta.tiscalinet.it...


> Network=DBMSSOCN;
??? Se mi devo collegare attraverso internet a un numero di IP non me ne
faccio nulla del network vero?


 tutti i test odbc che vuoi :-)
Questo è interessante, comunque mi da sempre "Login failed for user 'sa'.
Reason: Not associated with a trusted SQL Server connection." Credo che ci
sia ANCHE un problema sul server (che non amministro io).
ciao
dd


Problema sul server risolto... rimane il problema di attaccarmici con qualche driver DBI. DBD::ODBC non riesco a farlo andare, ADO non riesco ad installarlo... sono proprio messo male :-(


 "$DBI::errstr\n";
 
l'errore pare essere determinato dalla stringa $DSN che andrebbe settata al solo nome del data source (in questo caso DOMIZIO). Poi il driver ODBC va a prendersi quello che è stato configurato dentro a ODBC Data Sources Administrator e ci mette lui l'host e la porta. 
 
my $dbh  = DBI->connect("dbi:ODBC:DOMIZIO", 'domizio', 'pippo') or die "$DBI::errstr\n";
 
Questo scherzetto mi ha fatto perdere un bel po' di ore!
 
Grazie a quanti hanno aiutato
