Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* Interagire con file .mdf
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 10 Set 2008 16:03    Oggetto: * Interagire con file .mdf Rispondi citando

Salve a tutti Smile

Mi ritrovo a dover lavorare con un database in ambiente Sql Server 2005.

Devo modificare un software scritto in PHP (uso EasyPhp), in modo tale che si possa interfacciare con il database suddetto, cosicchè possa effettuare semplici query e operazioni di routine.

Nella mia (scarsa) esperienza in questo genere di problemi, non mi sono mai imbattuto in qualcosa di diverso dalla normale interazione con Mysql, in cui le query si effettuano con i classici comandi.

Tipico esempio:

Codice:
$conn = mysql_connect("localhost", "root") or die ("NON CONNESSO AL SERVER");
   mysql_select_db("nomedb", $conn) or die ("IMPOSSIBILE ACCEDERE AL DB");
   $sql = "query...'";
   
   $res = mysql_query($sql, $conn) or die ("ERRORE: ".mysql_error());


Il database nomedb di solito lo si trova nella cartella www, all'interno del webserver di EasyPhp, in localhost quindi.

Il problema è che, stavolta, ho due file con estensione .mdf e .ldf, che so che sono i due file che normalmente compongono un database di Microsoft Sql Server. Ma come interagisco con questi due file?

Dove vedo lo schema delle tabelle, in modo da poter eseguire le query?

Ho sentito dire che c'è bisogno di una connection string, ma quale comando PHP accetterebbe questa stringa come parametro?

Grazie in anticipo.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 10 Set 2008 16:08    Oggetto: Rispondi citando

Cioè devi convertire il programam PHP da MySQL a Microsoft Sql Server 2005 ?
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 10 Set 2008 16:10    Oggetto: Rispondi citando

Non proprio.

Il programma deve restare in PHP, semplicemente devo interagire con il database che trovo in formato .mdf.
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 10 Set 2008 19:54    Oggetto: Rispondi citando

A questo link c'è la spiegazione su come attivare le estensioni per mssql; se usi sistemi tipo easyPhp credo che al massimo tu debba decommentare alcune righe nel php.ini (però è un'ipotesi perchè io php lo accoppio a mysql).
Le funzioni che poi userai nelle pagine php sono tutte nella forma "mssql_*" e guardando al volo il link che ti ho spedito penso che le principali siano "mssql_connect", "mssql_select_db", "mssql_bind", "mssql_init", "mssql_fetch_array" e poche altre.
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 10 Set 2008 21:22    Oggetto: Rispondi citando

Grazie mille!

Ho fatto diverse ricerche in rete stasera, e mi confermi che ero nella buona strada! Very Happy
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 10 Set 2008 22:16    Oggetto: Rispondi citando

Dimenticavo nell'altro post: devi installare MSSQL Server e importare il db li dentro.
Non puoi collegarti direttamente ai files. Purtroppo di più non so perchè le poche volte che ho usato questo dbms mi ci attaccavo con asp (pre .net) per poi abbandonarlo definitivamente.
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 10 Set 2008 23:06    Oggetto: Rispondi citando

E' un DBMS così pessimo?

Nel pc dove lavoro ho installati sia Microsoft Sql Server 2005, che Microsoft Visual Studio (2008, mi pare..).. Dovrebbero bastare, no?
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 10 Set 2008 23:24    Oggetto: Rispondi citando

MS SQL Server non è pessimo però io preferisco MySql.
Molti potrebbero dire che è meglio uno o è meglio l'altro: io credo che entrambi siano buoni, Oracle e Postgree sono secondo me i migliori (anche se per ora non ho mai sviluppato con questi due) però MS e MY vanno più che bene.
MySql tiene su cose come alcuni servizi di yahoo e (mi pare) anche google quindi sulla bontà di questo non si discute.
MSSql funziona, ci sono mega programmani che lo usano.

Ho abbandonato asp (pre .net) perchè lui era un aborto e php era meglio.
Php contro aspx ne esce un po' azzoppato ma se con php vengono usati framework adeguati la storia cambia (vedi zend o symfony).

Altro motivo percui ho lasciato mssql è che io ho server gnu/linux e uso apachee come webserver, iis per me non esiste neppure.

Dato che il 90% di quello che scrivo che si interfaccia ad un dbms è web, capisci perchè io stia con mysql.

Saluti
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 11 Set 2008 12:32    Oggetto: Rispondi citando

A quanto pare la mssql_connect non va.. Sad

Mi ritrovo con il file .mdf in una partizione del disco DIVERSA da quella in cui opera l'applicativo in PHP.

Tutto questo dovrebbe essere contemplato in una connection string, ma non ho proprio idea di dove inserirla...
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 12 Set 2008 12:16    Oggetto: Rispondi citando

Ok ho risolto, metto a disposizione la mia soluzione. Smile

Il mancato funzionamento edlla mssql_connect dipendeva dal fatto che il file php.ini, rintracciabile dalla schermata che appare col comando phpinfo (), ha l'estensione php_mssql commentata.

Va tolto il ; da inizio riga.
Inoltre ho dovuto aggiornare la libreria ntwdblib.dll, che si trova nwlla cartella EasyPhp/php.

Fatto ciò la libreria dei comandi mssql_* è stata riconosciuta.

A quel punto sono bastate poche righe di codice, e il tutto si è sistemato.

Codice:

$myServer2 = "localhost";
$myUser = "root";
$myPass = "pwd";
$myDB = "db";

//mi connetto al database
$dbhandle = mssql_connect($myServer2)
  or die("Couldn't connect to SQL Server on $myServer");

//seleziono il db
$selected = mssql_select_db($myDB, $dbhandle)
  or die("Couldn't open database $myDB");

//query...
$query = "SELECT * FROM ARTICOLI where CODICE='$codice'";

//execute the SQL query and return records
$result = mssql_query($query);

//display the results
while($row = mssql_fetch_array($result))
 {
  $descr = $row["DESCRIZIONE"];
  $prezzo_da_mod = $row["P0"];
 }

//close the connection
mssql_close($dbhandle);
}
?>
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 12 Set 2008 12:45    Oggetto: Rispondi citando

pulvis ha scritto:
Ok ho risolto, metto a disposizione la mia soluzione. Smile
Oh, bene, bravo.
Evviva Grazie


pulvis ha scritto:
Il mancato funzionamento edlla mssql_connect dipendeva dal fatto che il file php.ini, rintracciabile dalla schermata che appare col comando phpinfo (), ha l'estensione php_mssql commentata.

Va tolto il ; da inizio riga.
Quindi in pratica si tratta di abilitare il supporto al MS SQL da parte di php?


p.s.:
Se vuoi, fai un salto in questa discussione a presentarti agli utenti del forum.
Ciao
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 12 Set 2008 15:42    Oggetto: Rispondi citando

chemicalbit ha scritto:
pulvis ha scritto:
Ok ho risolto, metto a disposizione la mia soluzione. Smile
Oh, bene, bravo.
Evviva Grazie


pulvis ha scritto:
Il mancato funzionamento edlla mssql_connect dipendeva dal fatto che il file php.ini, rintracciabile dalla schermata che appare col comando phpinfo (), ha l'estensione php_mssql commentata.

Va tolto il ; da inizio riga.
Quindi in pratica si tratta di abilitare il supporto al MS SQL da parte di php?


Esatto... Smile

chemicalbit ha scritto:

p.s.:
Se vuoi, fai un salto in questa discussione a presentarti agli utenti del forum.
Ciao


Ok..
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 14 Set 2008 18:20    Oggetto: Rispondi citando

Quando avevo parlato di decommentare qualche riga nel php.ini intendevo proprio questo.
Ho visto che anche xampp disabilita il supporto ad alcune librerie che di norma vengono abilitate di default.
Top
Profilo Invia messaggio privato
pulvis
Mortale devoto
Mortale devoto


Registrato: 01/09/07 00:06
Messaggi: 11

MessaggioInviato: 15 Set 2008 23:07    Oggetto: Rispondi

Infatti ti ringrazio per il prezioso consiglio Wink
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi