Italian B4A e MsAccess

AlpVir

Well-Known Member
Licensed User
Longtime User
In VB6, seguendo le indicazioni di un vecchissimo articolo di 15 anni fa (http://www.nicolaottomano.it/it-lang-vb.net/Documentazione/Articoli/DBRemoto.htm), è possibile effettuare una query di un archivio remoto di Tipo MDB (Microsoft MSAccess) e ricavare, ad esempio, il contenuto di uno o più record.
Tanto per essere più precisi la seguente funzione in VB6 restituisce un recordset proprio come se la query fosse effettuata su un MDB locale. Tutto questo è comumemente usato dal sottoscritto e con successo.

B4X:
Function LeggiRsWeb(Query As String) As ADODB.Recordset
  Dim Rs As New ADODB.Recordset
  Rs.CursorType = adOpenKeyset
  Rs.LockType = adLockBatchOptimistic
  Rs.CursorLocation = adUseClient
  Rs.Open WebHost + "/percorso/GetXMLRecordset3.asp?Query=" & Query
  Set LeggiRsWeb = Rs.Clone
  Rs.Close
  Set Rs = Nothing
End Function

Nel mondo di oggi (e di B4A) come si può ottenre la medesima funzionalità ?
Qualcuno mi dirà: "con il Remote Database Connector !" ma confesso che non ho capito molto di che si tratta. Dovrei l'installare qualcosa nel server dove è ospitato il sito e l'MDB (potrò farlo ?).
Ma - obbietto io - MSAccess non è database server !

Ho anche letto
https://www.b4x.com/android/forum/t...or-and-access-mdb-database.32844/#post-265842
ma anche qui ho capito poco.

Insomma: poche idee e ben confuse.
Qualcuno può darmi qualche delucidazione, se è riuscito a leggere gli MDB con il B4A?
Grazie per l'attenzione
 

LucaMs

Expert
Licensed User
Longtime User
Ti è indispensabile MS Access? Non è ora di cambiare?!?!

E' una vita che non lo uso e tantomeno l'ho usato con B4A.

RDC puoi usarlo anche con DB che non siano DB server, anche con SQLite che, essendo una sorta di standard per Android...!

Altrimenti dovresti usare MySql o MS SQL Server.

Personalmente considero MS Access defunto, RIP
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Non ho intenzione di cambiare radicalmente 3 siti e una mezza dozzina di programmi assai complessi qualcuno dei quali contiene ancora del codice scritto originariamente per l'Apple II (avete letto bene) e che funzionano benissimo con grande soddisfazione dei committenti. Tutti con archivi MDB (tranne uno che usa SQLServer) e VB6 !
Datemi pure del retrogrado ma queste sono le mie intenzioni. Adesso vorrei, più che altro per sfizio mio, leggere con B4A uno degli MDB che sono in un sito.
Ma, come già detto, non ci ho capito molto circa RDC nè se posso effettivamente usarlo nel mio spazio web con Windows Server 2012.
E' possibile avere qualche indicazione pratica ?
 

Antonio1

Member
Licensed User
Longtime User
ciao

rdc, con i giusti driver di ucanaccess riesce a funzionare bene da remoto e ad accedere in lettura e scrittura ad un db ms access remoto...

da remoto significa :da client b4a verso macchina su cui e' avviato il server rdc opportunamente configurato.
il problema e' che rdc lavora in java e difficilmente troverai spazio web dove e' possibile farlo avviare per ovvi motivi di sicurezza...

io qualche anno fa ho sperimentato il collegamento utilizzando il mio pc come server remoto su cui era avviato rdc con database msaccess... e funzionava bene
da remoto...

ciao
 

Antonio1

Member
Licensed User
Longtime User
ciao
dovresti usare a mio avviso non RDC ma direttamente delle pagine ASP che sono sicuramente supportate dal
provider che già utilizzi in ambiente Miscrosoft
cioè dovresti creare delle pagine asp "script" di collegamento al db access che ti permettano di interrogare il Db e che ti restituiscano il risultato della query in Json verso il client b4a ecc..
Ci sono diversi thread che parlano dell'argomento per esempio questo :https://www.b4x.com/android/forum/threads/60644

Io utilizzo PHP e MySql e va benissimo... oppure PHP e Sqlite
 

sirjo66

Well-Known Member
Licensed User
Longtime User
io leggo da B4A un archivio MDB che sta su un di un server utilizzando pagine PHP sul server stesso.

Sergio
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…