[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.204
207
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.204
207
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
60
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.449
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8

Discussioni simili