Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Connessione da PHP ad un server remoto SQL Server 2005 tramite odbc_connect

    Salve,
    ormai pratico di MySQL, mi trovo ad affrontare un altro database, quello di casa Microsoft.
    La versione del server in questione è SQL Server 2005 (versione Express).

    Dunque, la situazione è la seguente: ho uno spazio web su piattaforma Linux, Apache 2 e PHP5. Per motivi commerciali, non ho il modulo MSSQL installato tra le extension di PHP, ma solo l'ODBC. La mia necessità è quella di connettermi ad un database SQL Server 2005 in remoto: in pratica, lo spazio web si trova su un determinato IP (as esempio 120.120.120.120) mentre SQL Server si trova su di un altro IP di range differente (ad esempio 123.123.123.123), fisicamente distante!!!

    Non è finita. Il server in questione si trova in una certa situazione, ovvero dietro un router blindato, dove alcune porte sono chiuse verso esterno, tranne per una determinata porta (diciamo la 1234). Internamente, però, il server rimane in ascolto su di un'altra porta.
    SQL Server ha un DSN di sistema, chiamato "dsn_sqlserver", con alias "NOMEPC/SQLEXPRESS" e con nome del server "NOMEPC/SQLEXPRESS", dove è impostato il protocollo TCP/IP ma non la porta 1234. Infatti, impostando tale porta, SQL non mi accetta il DSN. La porta, infatti, l'ho impostata sulla finestra di impostazione del protocollo TCP/IP, da Strumenti di Amministrazione di SQL Server. Su IP1, c'è l'IP della scheda di rete del Server (192.168.0.10), mentre l'unico valore l'ho impostato su porta Dinamica (con valore 0). Su IP2, invece, l'indirizzo è 127.0.0.1 e la porta fissa è 1234.
    In questo modo, gli utenti che usufruiscono nella rete locale del SQL Server possono lavorare. Cos'altro è necessario per far sì che SQL Server rimanga in ascolto ANCHE sulla porta 1234?


    Per ricapitolare, dal sito web con indirizzo 120.120.120.120, dovrei connettermi da una pagina PHP con modulo odbc_connect() ad un server, di indirizzo 123.123.123.123 su di una porta 1234.

    Di stringhe di connessione ne ho provate!!! Ma senza successo.



    La porta del firewall è aperta verso il PC: infatti, se da una qualsiasi connessione internet tentassi di comunicare con il server tramite telnet:
    codice:
    telnet 123.123.123.123 1234
    http://forum.html.it/forum/newthread.php?s=&action=newthread&forumid=39
    mi compare schermo nero con il cursore lampeggiante pronto per ricevere una qualsiasi stringa. Digitando qualsiasi cosa, mi ritorna al prompt dei comandi. "In teoria" ho comunicato con il Server, giusto?



    Le mie stringhe sono state:
    codice:
    $dns = "Driver={SQL Server};SERVER=123.123.123;DATABASE=NomeDB;USERID=pippo;PASSWORD=pluto";
    $db = odbc_connect($dns,"","");
    codice:
    $dns = "Driver={SQL Server};SERVER=123.123.123\\SQLEXPRESS;DATABASE=NomeDB;USERID=pippo;PASSWORD=pluto";
    $db = odbc_connect($dns,"","");
    codice:
    $dns = "Driver={SQL Server};SERVER=123.123.123\\SQLEXPRESS;ADDRESS=123.123.123.123,1234;DATABASE=NomeDB;USERID=pippo;PASSWORD=pluto";
    $db = odbc_connect($dns,"","");
    Il risultato è che non rileva alcun server in questo IP! Perchè??? Dov'è che sbaglio???
    the Key of Lost Deep E-Dreams
    L'incomprensibile mondo nascosto.
    La Sottile linea tra Immaginazione e Realtà

  2. #2
    ... non c'è nessuno che si offre volontario???
    the Key of Lost Deep E-Dreams
    L'incomprensibile mondo nascosto.
    La Sottile linea tra Immaginazione e Realtà

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    19
    i dispiaceri del forum purtroppo... come hai risolto? Ho lo stesso problema. Non riesco a connettermi da php a sql server 2005.
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.