
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
questo è il codice, installare in due MT, usare per comunicare con due terminali.
Grazie mille appleparty!
Prego, il codice non funziona in v600+, quindi se potete dirci come risolvere il problema, vi ringrazio molto!
@gorick:
Ottimo lavoro per connettersi a un DB ORACLE! Ma come si fa a leggere/scrivere da/a ORACLE con mql4?
E da dove hai preso oraDLL.dll?
Grazie in anticipo!
Michael
Ho le stesse domande di M.Mick:
Dove posso scaricare oraDLL.dll e com'è l'implementazione della lettura e scrittura con ORACLE-DB?
Grazie per avermi aiutato!
@gorick:
Ottimo lavoro per connettersi a un DB ORACLE! Ma come fai a leggere/scrivere da/a ORACLE con mql4?
E da dove hai preso oraDLL.dll?
Grazie in anticipo!
Michael
m.mick,
Quello che ho dato è un frammento di codice usando il precompilatore Oracle Pro*C. Lo stesso di EXEC SQL CONNECT. Guarda l'esempio qui sotto. Tu scrivi il codice poi lo fai girare attraverso il precompilatore Oracle Pro*C che produce codice C che poi compili come parte della tua DLL in chiamate di funzione. Devi conoscere Oracle, ottenere il DB Oracle e il software Client, inclusi i precompilatori per fare questo. Io uso Oracle da molto tempo e lo preferisco a tutti gli altri, semplicemente perché ci sono abituato.
Buona fortuna.
Il precompilatore Oracle Pro*C genera il codice C di cui sopra per interfacciare Oracle utilizzando l'OCI - Oracle Call Interface, la sua API nativa.
m.mick,
Quello che ho dato è un frammento di codice usando il precompilatore Oracle Pro*C. Lo stesso di EXEC SQL CONNECT. Guarda l'esempio qui sotto. Tu scrivi il codice poi lo fai girare attraverso il precompilatore Oracle Pro*C che produce codice C che poi compili come parte della tua DLL in chiamate di funzione. Devi conoscere Oracle, ottenere il DB Oracle e il software Client, inclusi i precompilatori per fare questo. Io uso Oracle da molto tempo e lo preferisco a tutti gli altri, semplicemente perché ci sono abituato.
Buona fortuna.
Il precompilatore Oracle Pro*C genera il codice C di cui sopra per interfacciare Oracle utilizzando l'OCI - Oracle Call Interface, la sua API nativa.
Ho dimenticato di dire che avrete bisogno della versione a 32bit dell'Oracle Instant Client, che si trova qui: http://www.oracle.com/technetwork/topics/winsoft-085727.html, la 64 bit non funzionerà con la piattaforma MetaTrader. Il DB può essere la versione a 64 bit. Devi conoscere Oracle, è un software complesso. Puoi sviluppare gratuitamente, devi solo creare una registrazione con Oracle, la registrazione è gratuita. Tutti i download di Oracle sono gratuiti.
gorick:
Sì, hai ragione, ORACLE è un software complesso. Ho lavorato con ORACLE da un paio d'anni (ma solo SQL e PL/SQL), è il miglior database. Purtroppo non ho sviluppato con Pro*C Compiler o DLL. Quindi è abbastanza difficile per me fare questo. Ma ci proverò! :-)
Ho un paio di domande riguardanti il tuo grande lavoro.
Se mi arrischio a compilarlo (Build 610), ricevo messaggi di errore come "gli array sono passati solo per riferimento". Perché? E cosa dovrei fare? Perché hai usato uchar[] e non stringa? Forse a causa del compilatore Pro*C?
Come hai sviluppato la DLL? Anche con MT4? Ricevo un file *.ex4 dopo la compilazione in meta editor.... .
Se ricevo il file .c dal precompilatore Pro*C, cosa devo fare con quel file? Come faccio a sviluppare o generare una DLL con quel pezzo di codice?
Oracle Instant Client è obbligatorio per ogni client su cui deve essere usata la oraDLL. Giusto?
Grazie in anticipo!!!
Se uso il compilatore ORACLE Pro*C, ottengo molti errori dopo aver inserito il codice generato nella dll.
Ecco alcuni problemi dopo la compilazione della dll:
- manca la dichiarazione di UNAME_LEN, PWD_LEN e DBSTRING_LEN
- EXPORT è la parola giusta, avrò un errore; extern non è la parola giusta?
- connect1 (e 2 e 3) sono di tipo diverso: nella dichiarazione char ** e nell'uso (strncpy) solo char *; ed è depricato, si dovrebbe usare strncpy_s
- sqlca non è dichiarato
- ...
Qualcuno può per favore aiutarmi?
THX in anticipo,
Michael