Domanda

La mia azienda ha un'applicazione di terzi che viene eseguita su un database Progress . Ho creato un'applicazione in cima al loro database usando una connessione ODBC.

Uno dei "capricci" " of Progress è che non rispetta le larghezze di colonna SQL, quindi consentirà 100 caratteri in una colonna definita come varchar (50). Durante la lettura di questi dati tramite ODBC, viene visualizzato il seguente errore:

  

Colonna test_column nella tabella   PUB.test_table ha un valore che supera il suo   lunghezza massima o precisione.

Le tecniche di supporto dell'azienda che costruiscono l'applicazione mi hanno indicato l'aggiunta di un po 'di lavoro attorno ai flag nel registro per la connessione ODBC, tuttavia, non riesco a trovare alcuna documentazione su cosa faranno questi flag o quali possibili valori siamo. Le chiavi di registro sono

  

KEY_CURRENT_USER- > WorkArounds; Software- > ODBC > ODBC.INI- > MyODBCConnectionName- >   KEY_CURRENT_USER- > Software- > ODBC > ODBC.INI- > MyODBCConnectionName- > WorkArounds2

Google mi ha trovato altri problemi che le persone hanno risolto aggiungendo questi flag con valori specifici (incluso il mio preferito personale da The Daily WTF ) ma non riesco a trovare da nessuna parte che mi dica cosa fanno effettivamente le bandiere. Sai?

È stato utile?

Soluzione

Il collegamento da @ tom-bascom non funziona più perché Progress ha spostato il KB. il commento di @ stefan-moser sulla domanda di @ mdb è appropriato.

Secondo Capitolo 11 Opzioni di WorkAround del Serie DataDirect Connect per riferimento ODBC

WorkArounds2 = 8192. Abilitando questa opzione, Microsoft Access non passa l'errore -7748. Microsoft Access richiede solo dati come SQL_C_WCHAR a due byte, che è una dimensione del buffer insufficiente per memorizzare il carattere UCS2 e il terminatore null; pertanto, il driver restituisce un avviso, "01004 Dati troncati" e restituisce un carattere null a Microsoft Access. Microsoft Access quindi passa l'errore -7748.

riferimenti:

Altri suggerimenti

È una correzione per:

"Questo errore si verifica con Microsoft Access 2000 quando si utilizzano i driver Connect per ODBC per collegarsi a una tabella a cui sono associati uno o più indici."

DataDirect KB di supporto

Il file README per DataDirect Connect per ODBC ( un driver ODBC basato su Unix) contiene un elenco di soluzioni alternative nelle "Opzioni di WorkAround del driver" sezione del documento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top