[PHP] Connessione a ODBC

Stato
Chiusa ad ulteriori risposte.

invisible93

Utente Attivo
12 Apr 2013
59
0
6
Firenze
Ciao a tutti,

ho la necessità di connettermi a un db di AS400.

In test su macchina windows con xampp mi collego senza problemi utilizzando il seguente codice:

PHP:
 $server = "Driver={Client Access ODBC Driver (32-bit)};System=mioAS400;
Uid=utente;Pwd=password;"; #the name of the iSeries
            $user = "utente"; #a valid username that will connect to the DB
            $pass = "password"; #a password for the username

            $conn = odbc_connect($server, $user, $pass); #you may have to remove quotes
            if ($conn) {
            echo "Connection OK.";
            } else {
                echo "Connection failed.";
            }

portando il tutto su una macchina ubuntu server 16.04, come output ricevo
"Connection failed"

Sbaglio il modo di connessione? come posso connettermi da linux?

Grazie in anticipo
 

marino51

Utente Attivo
28 Feb 2013
3.025
174
63
Lombardia
per prima cosa toglierei if-else in modo da vedere l'errore,
non conoscendo il vero errore, diverse possibilità,

controlla che sul server sia installato il driver odbc, nel caso non lo fosse leggi qui,
https://www.microsoft.com/en-us/download/details.aspx?id=20098

se il driver è installato, è probabile che non sia raggiungibile il nome "mioAS400" forse vuole nome del server/istanza

oppure vedi che, nelle proprietà del database, sia autorizzato l'accesso remoto (se è presente questa autorizzazione)
 

invisible93

Utente Attivo
12 Apr 2013
59
0
6
Firenze
per prima cosa toglierei if-else in modo da vedere l'errore,
non conoscendo il vero errore, diverse possibilità,

controlla che sul server sia installato il driver odbc, nel caso non lo fosse leggi qui,
https://www.microsoft.com/en-us/download/details.aspx?id=20098

se il driver è installato, è probabile che non sia raggiungibile il nome "mioAS400" forse vuole nome del server/istanza

oppure vedi che, nelle proprietà del database, sia autorizzato l'accesso remoto (se è presente questa autorizzazione)

Ciao, intanto grazie per la risposta.
Il server su cui ho il problema è un Ubuntu 16.04.
Da windows funziona senza problemi, il nome "mioAS400" è corretto, infatti da windows riesco a fare query senza problemi.

Mi interessa trovare un modo per connettermi da linux in php, non so se esiste qualche libreria o altro da integrare.
 

invisible93

Utente Attivo
12 Apr 2013
59
0
6
Firenze
Il drive odbc è installato.
Togliendo l'if-else va al controllo successivo va al controllo successivo, ovvero al controllo della query, e mi dice che la query errata senza però specificare l'errore preciso.
Gli accessi remoti sono correttamente configurati verso l'AS.


Ho letto il tuo post ma forse non ho capito, perdonami!
Che altro devo fare?
 

invisible93

Utente Attivo
12 Apr 2013
59
0
6
Firenze
1) Tolto l'if - else, il codice viene eseguito e arriva al secondo controllo
PHP:
 $query="SELECT * from as_log.wq21 where pippo=puppa";

                    $result = odbc_exec($conn, $query);
                    if (!$result) {
                        exit("Error in SQL");
                    }
                    .....

qua semplicemnte mi restituisce "Error in SQL" senza ulteriori info, se tolgo anche questo controllo restituisce pagina bianca.
Ho abilito anche gli error log sul php.ini

2. Pensavo fosse solo lato microsoft, ho seguito le istruzione per Linux e ho installato i seguenti pacchetti:
Codice:
apt-get -y install php7.0 mcrypt php7.0-mcrypt php-mbstring php-pear php7.0-dev php7.0-xml

3. mioAS400 è il nome corretto, con questo nome lo raggiungo tramite dbeaver, datagrip ecc ecc

4.L'accesso remoto è consentito, perché sennò il codice mi avrebbe dato errore anche sulla mia macchina con windows 7 e xampp, nella quale invece funziona correttamente.
 

marino51

Utente Attivo
28 Feb 2013
3.025
174
63
Lombardia
nel mio php.ini leggo
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.

hai controllato con phpinfo se è installato il driver odbc per ubuntu ?
altrimenti verifica nel sito Microsoft come attivarlo
 

invisible93

Utente Attivo
12 Apr 2013
59
0
6
Firenze
Dovrebbe essere attivo, questo è quello che mi restituisce phpinfo();

http://imgur.com/a/omZC1
omZC1
 

invisible93

Utente Attivo
12 Apr 2013
59
0
6
Firenze
Nell'error log di apache2 vedo:

PHP Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib 'Client Access ODBC Driver (32-bit)' : file not found, SQL state 01000 in SQLConnect in /var/www/html/progetto/index.php on line 107, referer: http://progetto/index.php
 

Luigi Sgroi

Nuovo Utente
1 Feb 2018
3
0
1
57
Salve sono neofita di php ho eseguito la stessa connessione su ZendServer è ok ma non va
su server XAMMP (credo che bisogna installare il driver odbc su Xampp oppure forse manca qualcosa in configurazione) ma non so come fare
potreste aiutarmi?
Grazie
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.392
338
83
@Luigi Sgroi
Non riesumare discussini vecchie e sopolte in particolare modo se devi porre una tuo domanda!!
Per i tuoi quesiti apri una tua discussione nella sezione più adattta
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
L [PHP] Connessione odbc su server Xampp PHP 1
S PHP Impossibile stabilire la connessione PHP 8
W Come effettuare ripetute chiamate Curl con la stessa connessione autentica [PHP] PHP 0
M [PHP] Istanza di Connessione PHP 0
M [PHP] Estendere Connessione a una Classe PHP 1
F php PDO mysql connessione(select_db) PHP 3
MrClog [PHP] Connessione con Domain Controller PHP 0
Matilde1 PHP: errore connessione database PHP 12
M PHP: errore connessione a MySQL PHP 5
KILLERIX [PHP] Notifiche utente, connessione database, struttura generale dati PHP 3
B Connessione php a DB Mysql solodomini MySQL 0
V [PHP] [OOP]Gestione errori connessione db PHP 5
M php connessione con oracle PHP 1
D [PHP] connessione Apple Push Notification Service PHP 0
S PHP problema connessione mysql PHP 2
G connessione php al db2 del mainframe ibm PHP 0
G php effettuare una connessione ssh o telnet ed inviare dei comandi PHP 3
P problemi di connessione tra Flash e MySql tramite php PHP 4
P connessione a server mysql tramite php PHP 3
E Connessione mysql-php PHP 1
G Cercasi web editor per connessione Mysql e PHP Database 0
G Cercasi web editor per connessione Mysql e PHP PHP 0
V connessione tra php e mysql PHP 0
M Connessione ORACLE tramite PHP PHP 1
P mysql e connessione con php Database 4
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6

Discussioni simili