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

    FreeTDS, unixODBC, MSSQL e PHP

    Ciao a tutti, ho inserito nel titolo - mi auguro - tutti gli attori di questa "tragedia"..

    vi spiego in breve qual è il problema:

    su CentOS ho aggiornato il PHP (v 5.1.6) con le estensioni per mssql e i driver FreeTDS per lavorare a un progetto che include un db microsoft SQL.

    Seguendo un breve tutorial (questo qui ) ho eseguito il setup di un sorgente dati odbc poichè - visto che le funzioni mssql_* non funzionavano - ho deciso di lavorare tramite le funzioni odbc di PHP.
    Tutto fila liscio (per connettermi utilizzo la classe PEAR DB.php) se eseguo lo script on line via browser (interrogo e aggiorno Mssql server usando le info DSN contenute in ODBC.ini).

    Il sorgente dati l'ho generato da utente root e l'ho impostato come DSN di sistema (quindi in teoria valido per tutti): utilizzando però tsql o isql e richiamando il DSN da riga di comando, la connessione fallisce e così anche se lo script php che uso via browser (il medesimo) viene lanciato come root da terminale!

    Avete idea di come vada configurato o riconfigurato un sorgente dati per farlo lavorare con root?
    Mi serve che possa lavorare come utente root perchè in realtà gli script verranno lanciati tramite cron più che via browser web e i cron - per questioni di permessi a certe directory di sistema - devono essere quelli di root.

    Spero di essere stato sufficientemente chiaro... e soprattutto che a voi sovvenga qualcosa che non sovviene a me!
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  2. #2

    poche info in più

    Avevo scordato l'output che mi restituisce isql

    codice:
    [S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
    [08004][unixODBC][FreeTDS][SQL Server]Impossibile trovare la voce di sysdatabases per il database 'XYZ'. Nessuna voce con il nome specificato. Verificare che il nome del database sia stato immesso correttamente.
     
    [01000][unixODBC][FreeTDS][SQL Server]Changed database context to 'XYZ'.
    [ISQL]ERROR: Could not SQLConnect
    questo è l'ODBC.ini
    codice:
    [MSSQLX3]
    Driver          = FreeTDS
    Description             = X3DB
    Trace           = No
    Server          = 192.168.3.100\ISTANZAMSSQL
    Port            = 1433
    Database                = XYZ
    e questo l'ODBCINST.ini

    codice:
    [FreeTDS]
    Description             = latest release
    Driver          = /usr/lib/libtdsodbc.so.0
    UsageCount              = 1
    il freetds.conf non ho dovuto toccarlo
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  3. #3
    La soluzione era abbastanza banale:

    probabilmente creando il DSN ne ho erroneamente generato uno per root in /root/.odbc.ini e in seguito un DSN di sistema in /etc/odbc.ini. Quello di root era tuttavia sbagliato ma, ovviamente, lo user continuava a utilizzare il proprio sorgente dati.

    Eliminato il DSN utente per root, la situazione si è normalizzata. In effetti non c'erano molti motivi per cui non dovesse funzionare
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.