Autore Topic: [Risolto] gb.db.odbc: unable to convert date - Gambas 3.16.0  (Letto 1379 volte)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Ho da poco istallato la nuova versione di Gambas, la 3.16.0, e sulle richieste sql con driver Odbc il result  mi ritorna l'errore in oggetto.
Il programma non va in crash ma richiamando il valore del campo data del result mi ritorna nullo.

Qualcuno a modo di verificare se non e' solo un problema mio?

Lascio qui le info sul mio sistema

[System]
Gambas=3.16
OperatingSystem=Linux
Kernel=5.4.0-70-generic
Architecture=x86_64
Distribution=Ubuntu 20.04.2 LTS
Desktop=KDE5
Font=Noto Sans,10
Scale=8
Theme=breeze
Language=it_IT.UTF-8
Memory=15774M

[Libraries]
Cairo=libcairo.so.2.11600.0
Curl=libcurl.so.4.6.0
DBus=libdbus-1.so.3.19.11
GDK2=libgdk-x11-2.0.so.0.2400.32
GDK3=libgdk-3.so.0.2404.16
GStreamer=libgstreamer-1.0.so.0.1602.0
GTK+2=libgtk-x11-2.0.so.0.2400.32
GTK+3=libgtk-3.so.0.2404.16
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.97.0.0
QT5=libQt5Core.so.5.12.8
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6

[Environment]
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DEFAULTS_PATH=/usr/share/gconf/plasma.default.path
DESKTOP_SESSION=plasma
DISPLAY=:0
GB_GUI=gb.qt5
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:<home>/.gtkrc-2.0:<home>/.config/gtkrc-2.0
GTK_RC_FILES=/etc/gtk/gtkrc:<home>/.gtkrc:<home>/.config/gtkrc
HOME=<home>
KDE_FULL_SESSION=true
KDE_SESSION_UID=1000
KDE_SESSION_VERSION=5
LANG=it_IT.UTF-8
LANGUAGE=it_IT.UTF-8
LC_ALL=it_IT.UTF-8
LOGNAME=<user>
MANDATORY_PATH=/usr/share/gconf/plasma.mandatory.path
PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT_ACCESSIBILITY=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_LOGGING_RULES=*.debug=false
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1392,unix/<hostname>:/tmp/.ICE-unix/1392
SHELL=/bin/bash
SHLVL=0
SSH_AGENT_PID=1331
SSH_AUTH_SOCK=/tmp/ssh-VfD5zOM9PSec/agent.1287
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=/tmp/xauth-1000-_0
XCURSOR_THEME=Breeze_Snow
XDG_CONFIG_DIRS=/etc/xdg/xdg-plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
XDG_CURRENT_DESKTOP=KDE
XDG_DATA_DIRS=/usr/share/plasma:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=KDE
XDG_SESSION_ID=3
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_SESSION_TYPE=x11
XDG_VTNR=1
force_s3tc_enable=true
« Ultima modifica: 30 Aprile 2021, 23:23:26 da milio »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #1 il: 23 Aprile 2021, 14:10:45 »
Ciao milio,

non ti converrebbe riportarlo sul bugtracker?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #2 il: 23 Aprile 2021, 14:28:06 »
Come si fa?  ;D ;D

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #3 il: 23 Aprile 2021, 14:40:01 »
Come si fa?  ;D ;D

vergognati!  :)

Se vuoi posso provare a chiedere io ma se Benoit mi fa una domanda specifica occorre che tu segua questo post per dirmi cosa devo rispondere.

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #4 il: 23 Aprile 2021, 14:51:00 »
OK , l'ho riportato sul bugtracker, aspettiamo risposta da Benoit

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #5 il: 23 Aprile 2021, 15:13:21 »
Hai ottenuto un commento da Piccoro:

Citazione
Comment #2 by PICCORO LENZ MCKAY:

At the moment dates are read as strings, ODBC does not have a clear api for detecting and converting formats so you must convert manually for the moment.

take in consideration that ODBC ws broken for almost mayority of modules, significatively DTS and DB2, now is working, people said "works for me with mysql" but "mysql" is scholar grade agains DB2. so this new change was necesary to gambas able to use in production enterprise grade projects!

Tradotto da google:  ;D

Citazione
Commento # 2 di PICCORO LENZ MCKAY:

Al momento le date vengono lette come stringhe, ODBC non ha un'API chiara per il rilevamento e la conversione dei formati, quindi per il momento devi convertire manualmente.

prendere in considerazione che ODBC è stato rotto per quasi la maggior parte dei moduli, in modo significativo DTS e DB2, ora funziona, la gente ha detto "funziona per me con mysql" ma "mysql" è di grado scolastico contro DB2. quindi questo nuovo cambiamento era necessario per i gambas in grado di utilizzare in progetti di livello aziendale di produzione!

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #6 il: 23 Aprile 2021, 15:22:11 »
Dal commento di Piccoro sembrerebbe che prima, su certi database aziendali, non funzionasse; a te funzionava?
Con quale database?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #7 il: 23 Aprile 2021, 15:25:27 »
Benoit ha accettato il bug con questo commento:

Citazione
Comment #4 by Benoît MINISINI:

There is a dedicated API in ODBC to read dates (if I understood the documentation correctly), but it needs some work to implement it.

Benoît MINISINI changed the state of the bug to: Accepted.

Così tradotto da google  ;D

Citazione
Commento # 4 di Benoît MINISINI:

C'è un'API dedicata in ODBC per leggere le date (se ho capito correttamente la documentazione), ma ha bisogno di un po 'di lavoro per implementarla.

Benoît MINISINI ha modificato lo stato del bug in: Accettato.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #8 il: 23 Aprile 2021, 15:41:45 »
Io ho tagliato la testa al toro...
Ho scaricato il codice sorgente di gambas 3.16.0 e ho modificato il componente gb.db.odbc nello specifico nel file main.c  nella funzione di conversione riportandola paro paro a quella della versione 3.15.2.
Ricompilato gambas 3.16.0 su una macchina virtuale ed installato per verifiche... Funziona...  :ok:
Quindi ho copiato il file gb.db.odbc.so.0 su tutti i pc della lavanderia....

Un po' spartano ma ha funzionato in attesa di un aggiornamento...


Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #9 il: 23 Aprile 2021, 22:38:52 »
Dal commento di Piccoro sembrerebbe che prima, su certi database aziendali, non funzionasse; a te funzionava?
Con quale database?

Scusa non avevo letto...
Nella versione 3.15.2 funzionava con Firebird e Mssql
« Ultima modifica: 25 Aprile 2021, 17:47:59 da Gianluigi »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #10 il: 24 Aprile 2021, 15:02:56 »
Quando puoi trovare un po di tempo, potresti scrivere un passo passo su come collegare un database a ODBC?

Non sono una cima a scrivere... sappiate che qui si vive tra le vacche e le montagne...  :-[

se qualcuno pero' a difficoltà a collegare db firebird e mssql con odbc, son disponibile a dare una mano...
« Ultima modifica: 25 Aprile 2021, 17:49:55 da Gianluigi »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #11 il: 24 Aprile 2021, 17:45:39 »

Quando puoi trovare un po di tempo, potresti scrivere un passo passo su come collegare un database a ODBC?

Non sono una cima a scrivere... sappiate che qui si vive tra le vacche e le montagne...  :-[

se qualcuno pero' a difficoltà a collegare db firebird e mssql con odbc, son disponibile a dare una mano...

Beh lui lo era:
https://www.gambas-it.org/smf/index.php?topic=7873.0

Sii bravo a me basta che mi indichi per sommi capi (mi raccomando però la precisione) i passaggi, che poi la la scarna prosa, nel senso che mi prendo la briga di scrivere lo wiki se non ne hai voglia, ce la metto io...

Sarebbe sufficiente che ci indicassi dove lo wiki di Gambas (ODBC Component Documentation) è sbagliato e dove no, grazie

 :ciao: :ciao:
« Ultima modifica: 25 Aprile 2021, 17:50:45 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #12 il: 24 Aprile 2021, 19:39:06 »
Dopo aver tradotto la Wiki, ho constatato che e' corretta...
Manca solo come connettersi ad un database firebird...

dopo aver scaricato i driver da qui https://firebirdsql.org/en/odbc-driver/ e estratti in una qualsivoglia cartella (possibilmente per ubuntu va messo in /usr/lib/x86_64-linux-gnu/odbc/) si dovra' configurare il file /etc/odbcinst.ini

[FireBird]
Description=Firebird driver ODBC
Driver=/usr/lib/x86_64-linux-gnu/odbc/libOdbcFb.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libOdbcFb.so
UsageCount=1
CPTimeout=0
CPTimeToLive=0
DisableGetFunctions=0
DontDLCLose=1
ExFetchMapping=1
Threading=3
FakeUnicode=0

Nel file /etc/odbc.ini

[Skema]
Description=FireBird
Driver=FireBird
Dbname=<host server>:<percorso database>
Client=
User=pippo
Password=passfrase
Role=
CharacterSet=WIN1252
ReadOnly=Yes
NoWait=No
Dialect=3
QuotedIdentifier=Yes
SensitiveIdentifier=No
AutoQuotedIdentifier=No
UseSchemaIdentifier=0 - Set null field SCHEMA
LockTimeoutWaitTransactions=0
SafeThread=Yes

per vedere se tutto funziona da  terminale si digita:

isql Skema pippo passfrase


Su gambas si setta la connection in questo modo:

Codice: [Seleziona]
DIM oConn As New Connetion

WITH oConn
  .Type = "odbc"
  .Host = "Skema"
  .User = "pippo"
  .Password = "passfrase"
  .Open()
END WITH
« Ultima modifica: 30 Aprile 2021, 16:31:26 da Gianluigi »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #13 il: 24 Aprile 2021, 22:17:45 »
milio sei un mito!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

grande, grandissimo  :ok:

Allora, domani tiro giù la pagina per il nostro wiki e ti avviso, così se ne avrai voglia mi dirai cosa ne pensi.

Per adesso un grande grazie  :-*
« Ultima modifica: 30 Aprile 2021, 16:30:43 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:gb.db.odbc: unable to convert date - Gambas 3.16.0
« Risposta #14 il: 25 Aprile 2021, 12:56:13 »
Potresti tirar giù una guida su come si usa il bugtracker...  :P