Connessione a database sul web mssql2005 da sito locale appoggiato su piattaforma apache (easyphp, x

srondelli

Nuovo Utente
13 Dic 2013
3
0
0
Ciao a tutti ho un problema molto chiaro ma che non riesco a risolvere,
come da titolo dovrei accedere tramite i comandi di connessione mssql di php a un database microsoft sql 2005 sul web. Questo lo devo fare da un sito che ho appoggiato in locale.
Ho fatto diverse prove con i diversi software di appoggio (easyphp, xampp, wamp, ecc), attivando in php.ini le estensioni mssql scaricando e applicando le varie dll che leggevo nelle guide (php_mssql.dll, ntwdblib.dll, ecc..).
Tutto questo con esisto negativo, non so proprio come fare.
Chiedo quindi il vostro aiuto, mi va bene qualsiasi metodo, mi va bene usare qualsiasi distribuzione apache, mi va bene scaricare qualsiasi dll. Ho la "semplice" necessità di scrivere un minuscolo script php di poche righe in locale che si possa connettere e interrogare un database mssql2005 che si trova su aruba (di cui ho ovviamente tutti i dati per accedere).
per dire la semplicità dello script che farà sarà praticamente una semplice connessione come questa con un'interrogazione sql in mezzo: http://webcheatsheet.com/php/connect_mssql_database.php

Chi mi può aiutare??? grazie in anticipo di tutto!!!
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
Ho sempre utilizzato file con terminazione UDL che sono equivalenti alle definizioni DSN, in particolare

come provider : Microsoft OLE DB Provider for SQL Server
nelle connessioni,
al punto 1 va indicato il nome del server, può essere un indirizzo IP o un nome entrambi devono essere comunque raggiungibile con un ping
al punto 2 lo user name e password (utente specifico), consenti il salvataggio della password
al punto 3 il nome del database esistente sul server
con verifica connessione sai immediatamente se si collega o no indipendentemente dal tuo software (php o altro)

fatti vivo magari indicando le istruzioni del provider per il collegamento ( NON id e psw !! )
ciao
Marino
 

srondelli

Nuovo Utente
13 Dic 2013
3
0
0
Ho sempre utilizzato file con terminazione UDL che sono equivalenti alle definizioni DSN, in particolare

come provider : Microsoft OLE DB Provider for SQL Server
nelle connessioni,
al punto 1 va indicato il nome del server, può essere un indirizzo IP o un nome entrambi devono essere comunque raggiungibile con un ping
al punto 2 lo user name e password (utente specifico), consenti il salvataggio della password
al punto 3 il nome del database esistente sul server
con verifica connessione sai immediatamente se si collega o no indipendentemente dal tuo software (php o altro)

fatti vivo magari indicando le istruzioni del provider per il collegamento ( NON id e psw !! )
ciao
Marino
Ciao scusami ma non ho proprio capito la tua proposta. Cosa dovrei fare quindi per connettermi con php in locala ad un db mssql2005 su un webserver aruba? (di cui conosco indirizzo ip, nome, pw, user)
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
le istruzioni che seguono sono da Windows 7 ma valgono per tutta la generazione Windows
in "start" -> "cerca programmi e files" scrivi "ODBC" (senza virgolette)
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
scusa, un enter, non voluto, mi ha registrato il messaggio appena iniziato e poi dopo averlo completato,
mi ha rifiutato tutto con la segnalazione che avevo solo 10 minuti per cambiare il messaggio
così ho dovuto rifarlo ...

le istruzioni che seguono sono da Windows 7 ma valgono per tutta la generazione Windows
in "start" -> "cerca programmi e files"
scrivi "ODBC" (senza virgolette)
esegui "data sources (ODBC)"

in "amministrazione origine dei dati" "DNS utente" clicca aggiungi
nella lista che ti si presenta scegli "SQL native client" versione 2005 ....

in "create a new data source" inserisci il nome e la descrizione più consoni a definire la connessione che stai creando
nella voce server inserisci l'indirizzo IP di aruba
clicca "avanti"

scegli "autenticazione con sql server", ti si aprono nome e password,
inserisci i valori che conosci di aruba
clicca "avanti"

scegli "cambia il database di default"
scegli dal menu a tendina il database che ti serve
clicca "avanti"

clicca "fine"

clicca "test data source"

il risultato per un mio database

Microsoft SQL Native Client Version 09.00.5000

Running connectivity tests...

Attempting connection
Connection established
Verifying option settings
Disconnecting from server

TESTS COMPLETED SUCCESSFULLY!

(se non esiste nella tua lista cerca il driver ODBC per sql 2005 e scaricalo in casa Microsoft)

dopo aver creato la connessione puoi usarla nei tuoi PHP scegliendo l'esempio DNS che hai postato tu

ciao
Marino
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
con quanto suggerito nel messaggio precedente fai chiarezza sulla connessione indipendentemente da PHP

se la connessione dovesse funzionare come credo, puoi poi provare anche direttamente da php con

PHP:
  try { $db = new PDO("sqlsrv:Server=$OPdbHOST;Database=$OPdbNAME", "$OPdbUSER", "$OPdbPASS"); }
  catch (PDOException $e) { die( print_r( 'Connection failed : ' . $e->getMessage(), true)); }
dove,
$OPdbHOST = indirizzo IP aruba
$OPdbNAME = nome del database
poi user e password

con pazienza per attesa connessione, dovrebbe comunque funzionare

fammi sapere per soddisfare anche la mia curiosità
ciao
Marino
 

srondelli

Nuovo Utente
13 Dic 2013
3
0
0
scusa, un enter, non voluto, mi ha registrato il messaggio appena iniziato e poi dopo averlo completato,
mi ha rifiutato tutto con la segnalazione che avevo solo 10 minuti per cambiare il messaggio
così ho dovuto rifarlo ...

le istruzioni che seguono sono da Windows 7 ma valgono per tutta la generazione Windows
in "start" -> "cerca programmi e files"
scrivi "ODBC" (senza virgolette)
esegui "data sources (ODBC)"

in "amministrazione origine dei dati" "DNS utente" clicca aggiungi
nella lista che ti si presenta scegli "SQL native client" versione 2005 ....

in "create a new data source" inserisci il nome e la descrizione più consoni a definire la connessione che stai creando
nella voce server inserisci l'indirizzo IP di aruba
clicca "avanti"

scegli "autenticazione con sql server", ti si aprono nome e password,
inserisci i valori che conosci di aruba
clicca "avanti"

scegli "cambia il database di default"
scegli dal menu a tendina il database che ti serve
clicca "avanti"

clicca "fine"

clicca "test data source"

il risultato per un mio database

Microsoft SQL Native Client Version 09.00.5000

Running connectivity tests...

Attempting connection
Connection established
Verifying option settings
Disconnecting from server

TESTS COMPLETED SUCCESSFULLY!

(se non esiste nella tua lista cerca il driver ODBC per sql 2005 e scaricalo in casa Microsoft)

dopo aver creato la connessione puoi usarla nei tuoi PHP scegliendo l'esempio DNS che hai postato tu

ciao
Marino
Quando vado sulla finestrella per selezionare il db mi compare il messaggio di errore in foto.
Il driver che ho scaricato è ODBC Driver 11 per sql server che nella descrizione lo dava valido anche per sql 2005
l'ip del server l'ho ricavato pingando il sito che lo utilizza

errore.jpg
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
In realtà quando scegli dalla tendina il nome del database, si è già connesso al server sql perché da li ottiene la lista dei db disponibili,
purtroppo sembra che non riesca a connettersi, il messaggio è chiaro TIMEOUT ovvero tempo scaduto per la connessione.

il metodo di connessione è giusto ma sembra che il server/user non sia quello giusto, hai delle istruzioni di connessione di aruba ?

puoi dirmi il nome del server che vuoi collegare ed il nome del data base (no user e psw) ?

ho installato "sql management studio" e potrei tentare di raggiungere il server da li per avere maggiori info

fammi sapere
ciao
Marino
 

coolnetwork

Utente Attivo
23 Set 2013
566
0
0
Treviso
www.coolnetwork.it
la connessione a mysql remoto è bloccata in automatico a tutte le richieste provenienti da qualsiasi rete esterna ad aruba (in questo caso) per motivi di sicurezza.

per collegarti al database e gestire il tutto puoi solo usare il tool phpmyadmin messo a disposizione