Post recenti

Pagine: [1] 2 3 ... 10
2

Per Milio: potresti fornirci qualche dettaglio in più sul tuo scenario operativo? (quali ODBC e versioni Gambas/Distro linux?)

Grazie


Distro: Kubuntu 22.04
Versione Gambas: 3.19.1
ODBC: FreeTDS (versione pacchetto 1.3.6-1)
           tdsodbc (versione pacchetto 1.3.6-1)

Per il collegamento al Database nel file freetds.conf:

Codice: [Seleziona]
[Mago]
        host = 192.168.1.75
        port = 1305
        tds version = 8.0
        client charset = UTF-8

Parametri nel file odbcinst.ini:

Codice: [Seleziona]
[Ms-Sql]
Description=
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Driver64=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
Setup64=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount=1
CPTimeout=
CPTimeToLive=
DisableGetFunctions=
DontDLCLose=
ExFetchMapping=
Threading=
FakeUnicode=
IconvEncoding=
Trace=
TraceFile=
TraceLibrary=
CPReuse=

parametri nel file odbc.ini:

Codice: [Seleziona]
[Mago]
Description=Ms-Sql
Driver=Ms-Sql
Servername=Mago
Database=LavanderiaNET
UID=######
PWD=######
Port=1305


...con FreeTDS il raggruppamento funziona correttamente, ma va in crash nel caso in cui uno dei campi di aggregazione della select contiene un valore null.


Io ho provato a fare dei test in questo modo:
ho modifcato il dato nel database mettendo il valore Null nel campo 'UM'  in un record a caso contenente l'articolo '29'
poi ho eseguito questo codice:

Codice: [Seleziona]
 hRes = DbMago.Exec("SELECT SUM(ritirato) as somma, cliente, UM FROM SI_BolletteRighe WHERE articolo = '29' group by cliente, UM;")
 
  For Each hRes
    Print hRes["somma"], hRes["cliente"], IIf(IsNull(hRes["UM"]), "NULL", hRes["UM"])
  Next

e mi ritorna correttamente in console senza andare in crash:

Codice: [Seleziona]
2       1887    NULL
1       1034    PZ
274     1862    PZ
5       1887    PZ
22      1911    PZ
245     2278    PZ
361     2311    PZ
9
Database / Re:gambas 3.19.1 con ODBC + MSSQL 2016: problemi query di raggruppamento
« Ultimo post da Simo il 07 Maggio 2024, 23:43:18 »
Curiosità....

collicar, anaetichette, lotto

Lavori per caso in o per una lavanderia industriale?



Ciao a tutti, scusate il ritardo nel feedback della risposta.

No, non si tratta di lavanderie ma di lavorazioni carni industriali.


A parte la proprietà count che mi ritorna sempre -1 anche se il recordset contiene di fatto dei dati, ho provato anch'io a fare dei test di raggruppamento... A me non da problemi la query...

Ma se esegui questa query:

Codice: [Seleziona]
rs = $con.Exec("SELECT * FROM anaetichette WHERE lotto = '722078' ;")

For Each rs
  PRINT "record trovato: " & rs[0]
Next

ti ritorna dei dati?



Si, così funziona.
Abbiamo fatto ulteriori test sia usando il driver ODBC di microsoft sia usando il driver ODBC FreeTDS.

Con ODBC microsoft continua a non funzionare. Mentre con FreeTDS il raggruppamento funziona correttamente, ma va in crash nel caso in cui uno dei campi di aggregazione della select contiene un valore null.

Per Milio: potresti fornirci qualche dettaglio in più sul tuo scenario operativo? (quali ODBC e versioni Gambas/Distro linux?)

Grazie
Pagine: [1] 2 3 ... 10