Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Access 97 e Oracle

39 views
Skip to first unread message

tommaso

unread,
Sep 6, 2011, 3:59:02 AM9/6/11
to
Buongiorno a tutti.
Lavoro in una azienda che utilizza come
standard aziendale "Office97".
Mi hanno dato la possibilità di leggere le tabelle
del programma di produzione (Database Oracle) con il quale
gestiamo gli ordini, anagrafica prodotti, movimenti di
magazzino, etc...via Odbc, collegando
le stesse ad un database di Access 97.
Ho il problema di una lettura errata solo su alcuni campi (Valuta)
mentre leggo correttamente tutti i campi di testo e numerici.
Questo "errore" si verifica solo con la versione di Access97,
mentre se le stesse vengono collegate ad un database
formato 2000/2003 fila tutto liscio.

Quello che si verifica è:

- access 97 - (Lettura errata)
______________________
|Articolo |Prezzo
______________________
|Art1 |270.783
______________________
|Art2 |.573
______________________

-access 2000/2003 - (Lettura corretta)
______________________
|Articolo |Prezzo
______________________
|Art1 |270,783
______________________
|Art2 |0,573
______________________

Il problema più grosso, è che come dicevo, devo usare la
versione 97 in quanto standard.

Sapete come posso risolvere questo problema?
Grazie in anticipo

Tommaso

Pablitomf

unread,
Sep 6, 2011, 5:32:50 AM9/6/11
to
> Quello che si verifica è:


Uno legge punti, l'altro virgola... io andrei a vedere le opzioni
internazionali...

--
--------------------------------
Pablitomf

Napoli sempre nel "Q"uore!

BFS

unread,
Sep 6, 2011, 5:43:56 AM9/6/11
to
Il 06/09/2011 09:59, tommaso ha scritto:
> Buongiorno a tutti.
> Lavoro in una azienda che utilizza come
> standard aziendale "Office97".

alla faccia dell'avanguardia!

:-)
BFS

MA

unread,
Sep 6, 2011, 6:03:21 AM9/6/11
to
"Pablitomf" ha scritto nel messaggio
news:201109060...@mynewsgate.net...

> Quello che si verifica è:


Uno legge punti, l'altro virgola... io andrei a vedere le opzioni
internazionali...

________Risposta:
No, Pabli, lo hai anche in SQL, devi usare tonumber che corrisponde al SQL
Convert
MA

Pablitomf

unread,
Sep 6, 2011, 6:15:54 AM9/6/11
to
MA <mas...@massimilianoamendola.it> ha scritto:

Daccordo, ma il 2000 mica c'ha la conversione automatica...

MA

unread,
Sep 6, 2011, 6:18:24 AM9/6/11
to
"Pablitomf" ha scritto nel messaggio
news:201109061...@mynewsgate.net...

MA <mas...@massimilianoamendola.it> ha scritto:

> "Pablitomf" ha scritto nel messaggio
> news:201109060...@mynewsgate.net...
>
> > Quello che si verifica è:
>
>
> Uno legge punti, l'altro virgola... io andrei a vedere le opzioni
> internazionali...
>
> ________Risposta:
> No, Pabli, lo hai anche in SQL, devi usare tonumber che corrisponde al SQL
> Convert
> MA

Daccordo, ma il 2000 mica c'ha la conversione automatica...

__Risposta:
non ho esperienza, ma vuoi dire che in T-SQL per SQL 2000 non hai
convert(money, tuocampo)?
MA

Pablitomf

unread,
Sep 6, 2011, 7:07:08 AM9/6/11
to
> Daccordo, ma il 2000 mica c'ha la conversione automatica...
>
> __Risposta:
> non ho esperienza, ma vuoi dire che in T-SQL per SQL 2000 non hai
> convert(money, tuocampo)?
> MA

la sua domanda era "con 97 fa cosi', con 2000 cosa'..." per cui mi
chiedo, se
nel 2000 la conversione non e' automatica (o lo e'?), quale e' il
dilemma? forse le opzioni internazionali?

MA

unread,
Sep 6, 2011, 7:10:21 AM9/6/11
to
"Pablitomf" ha scritto nel messaggio
news:201109061...@mynewsgate.net...

> Daccordo, ma il 2000 mica c'ha la conversione automatica...


>
> __Risposta:
> non ho esperienza, ma vuoi dire che in T-SQL per SQL 2000 non hai
> convert(money, tuocampo)?
> MA

la sua domanda era "con 97 fa cosi', con 2000 cosa'..." per cui mi
chiedo, se
nel 2000 la conversione non e' automatica (o lo e'?), quale e' il
dilemma? forse le opzioni internazionali?

_________risposta:
Ah A2000 ok, è un problema del driver ODBC, probabilmente
MA

Karl Donaubauer

unread,
Sep 6, 2011, 7:09:08 AM9/6/11
to
tommaso wrote:
> ... (Database Oracle)

Le prove con A97 e A00/03 hai fatto sulla stessa macchina?
Chiedo perché di solito problemi con il separatore decimale sono
causati dal chiave per la lingua nel registro, cioè normalmente
HKLM\Software\Oracle\Home0\NLS_LANG:


Se si tratta della stessa macchina hai un problema diverso,

ma se sono macchine diverse fai un paragone del valore di

questo chiave.


--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it


Karl Donaubauer

unread,
Sep 6, 2011, 7:17:59 AM9/6/11
to
tommaso wrote:
> ... (Database Oracle)
> ...via Odbc, collegando
> le stesse ad un database di Access 97.
> Ho il problema di una lettura errata solo su alcuni campi (Valuta)
> mentre leggo correttamente tutti i campi di testo e numerici.
> Questo "errore" si verifica solo con la versione di Access97,
> mentre se le stesse vengono collegate ad un database
> formato 2000/2003 fila tutto liscio.
> ...

> - access 97 - (Lettura errata)
> ______________________
>> Articolo |Prezzo
> ______________________
>> Art1 |270.783
> ______________________
>> Art2 |.573
> ______________________
>
> -access 2000/2003 - (Lettura corretta)
> ______________________
>> Articolo |Prezzo
> ______________________
>> Art1 |270,783
> ______________________
>> Art2 |0,573
>...

Le prove con A97 e A00/03 hai fatto sullo stesso computer
e la stessa installazione di Win/Oracle/ODBC?

Chiedo perché spesso la causa per problemi con il separatore
decimale è la chiave per la lingua nel registro:

HKLM\Software\Oracle\Home0\NLS_LANG

Se si tratta di macchine diverse fai un paragone dei valori di

Pablitomf

unread,
Sep 6, 2011, 7:22:48 AM9/6/11
to
> _________risposta:
> Ah A2000 ok, è un problema del driver ODBC, probabilmente
> MA

Massimi', anche se tutto puo' essere, stento a credere che Oracle faccia bug nei
suoi driver Odbc... io credo che ci sia qualche cosa nelle impostazioni del
sistema che il 97 interpreta diversamente dalle vers successive.

Pablitomf

unread,
Sep 6, 2011, 7:30:16 AM9/6/11
to
> Sapete come posso risolvere questo problema?
> Grazie in anticipo

Leggi questo:
http://www.orafaq.com/wiki/ODBC_FAQ

in cui c'e' questo:

Option Compare Database
Option Explicit

Function AttachTable() As Variant
On Error GoTo AttachTable_Err

Dim db As Database
Dim tdef As TableDef
Dim strConnect As String

Set db = CurrentDb()
strConnect = "ODBC;DSN=oraweb;DBQ=qit-uq-cbiw_oraweb;DATABASE="
' NOTE: DSN is your ODBC Data Source Name; DBQ is your TNSNAMES.ORA
entry name

Set tdef = db.CreateTableDef("MY_ACCESS_TABLENAME")
' tdef.Attributes DB_ATTACHEDODBC
tdef.Connect = strConnect
tdef.SourceTableName = "MY_ORACLE_TABLENAME"
db.TableDefs.Append tdef

AttachTable_Exit:
Exit Function

AttachTable_Err:
MsgBox "Error: " & Str(Err) & " - " & Error$ & " occured in global module."
Resume AttachTable_Exit

End Function

tommaso

unread,
Sep 6, 2011, 7:34:02 AM9/6/11
to

Sono due macchine diverse, quasto il valore dalle chiave sulla mia con
access 97:
ITALIAN_ITALY.WE8ISO8859P1
la confronterò appena possibile, sulla macchina di un collega, che ha
A03.

Grazie

tommaso

unread,
Sep 6, 2011, 7:49:57 AM9/6/11
to
On 6 Set, 13:30, "Pablitomf" <pablit...@hotmail.it> wrote:
> > Sapete come posso risolvere questo problema?
> > Grazie in anticipo
>
> Leggi questo:http://www.orafaq.com/wiki/ODBC_FAQ
> --------------------------------
> Pablitomf
>
> Napoli sempre nel "Q"uore!

entry Name : Variabile non definita.

Ma non voglio ricreare le tabelle in locale, questo lo psso fare
utilizzando altre
funzioni, che ho a disposizione, praticamente eseguendo delle
estrazioni a sistema
in formato txt con degli strumenti messi a dispozione dal programma di
produzione che utilizzo,
e successivamente importandole in access, pratica che utilizzo, ma non
leggo
mai il dato in tempo reale, cosa possibile con il collegamento Odbc.


Karl Donaubauer

unread,
Sep 6, 2011, 8:33:48 AM9/6/11
to
tommaso wrote:
> Karl Donaubauer wrote:
>>> ... (Database Oracle) ...

>>> - access 97 - (Lettura errata)
>>> ______________________
>>>> Articolo |Prezzo
>>> ______________________
>>>> Art1 |270.783
>>> ______________________
>>>> Art2 |.573
>>> ______________________
>>
>>> -access 2000/2003 - (Lettura corretta)
>>> ______________________
>>>> Articolo |Prezzo
>>> ______________________
>>>> Art1 |270,783
>>> ______________________
>>>> Art2 |0,573
>>> ...
>> Chiedo perché spesso la causa per problemi con il separatore
>> decimale è la chiave per la lingua nel registro:
>>
>> HKLM\Software\Oracle\Home0\NLS_LANG
>>
>> Se si tratta di macchine diverse fai un paragone dei valori di
>> questo chiave.
> ...

> Sono due macchine diverse, quasto il valore dalle chiave sulla mia con
> access 97:
> ITALIAN_ITALY.WE8ISO8859P1
> la confronterò appena possibile, sulla macchina di un collega, che ha
> A03.

La seconda parte della chiave decide su separatore, valuta ecc.
Però il funzionamento dipende anche delle versioni di
driver ODBC/Oracle/Access.

Ho letto spesso che il problema frequente che Access non mostra
nessun separatore decimale con il driver ODBC di Oracle (<>MS)
e una impostazione che sembra giusta (= identica col sistema)
sparisce con l'impostazione americana. Qui sarebbe:

ITALIAN_AMERICA.WE8ISO8859P1

Puoi provare se aiuta anche qui.
Certo sempre con un backup del registro ecc. - altrimenti non ho
detto niente. ;-)

tommaso

unread,
Sep 6, 2011, 8:54:48 AM9/6/11
to

> La seconda parte della chiave decide su separatore, valuta ecc.
> Però il funzionamento dipende anche delle versioni di
> driver ODBC/Oracle/Access.

Ho provato con la chiave:
ITALIAN_AMERICA.WE8ISO8859P1
e anche con la chiave del registro, del Pc con A03:
AMERICAN_AMERICA.WE8ISO8859P1
ma la musica non cambia.
Sembra che il problema sia propio nella versione del Driver installato
sul mio PC.
Sono in attesa di un tecnico del Ced, che ne installerà una versione
più
recente di quella in uso.

Grazie a tutti.
Tommaso


tommaso

unread,
Sep 6, 2011, 1:44:17 PM9/6/11
to
Per dovere di cronaca:
Installati i driver "Oracle 10g", stessa versione del database Oracle
in uso
con il sistema di produzione........
Risultato:
OK!

Rinnovo i ringraziamenti.
Tommaso

0 new messages