[ms sql en access] obdc error bij grote records

Pagina: 1
Acties:

  • Wezzie
  • Registratie: Maart 2001
  • Laatst online: 21-08 07:00
Ik heb een vraagje over een foutmelding die ik krijg onder Access 97. Even een verhaaltje vooraf. Jarenlang heb ik gebruik gemaakt van Access om alle relaties en offertes op te slaan in Access 97. Nu werd dit een beetje traag en moest er wat anders komen. Omdat wel ook nog geen goede Mail Server hadden is W2K SBS aangeschaft.

Hierin zit MS SQL server 2000. Dit gebruiken we nu voor de database van Access. Een aantal zaken in Access verandert zodat deze wel draait met MS SQL Server. Op de Clients zijn de nieuwe MDAC drivers geïnstalleerd en dit werkt ook allemaal perfect.

Nu komt alleen het probleem, in de offerte tabellen wordt gebruik gemaakt van text velden. Dit is ook noodzakelijk omdat een offerte een kop tekst en een voet tekst heeft. Het probleem is nu dat op het moment dat zon veld benaderd wordt en weer terug geschreven moet worden naar de server dat ik obdc foutmelding krijg.
ODBC connection Failed Vervolgens krijg ik in alle velden ????.

Ik ben er al achter dat het temaken heeft met de maximale grote van een record wat via obdc over de lijn moet. Wanneer dit groter is dan k klapt die dicht. Je zou kunnen zeggen dat je dan geen gebruik moet maken van text velden maar dit is geen optie.

Ik heb het vermoeden dat het een instelling is in de obdc driver maar ik heb geen idee waar, wat en hoe. Daarom vraag ik het even aan jullie. En ja ik heb al gezocht. Het probleem is wel bekend bij Microsoft maar ze bieden geen echte oplossing voor het probleem.

Ik heb zelf al wel een oplossing bedacht om gewoon de applicatie te herschrijven in Delphi maar dat is weer heel wat werk. Wanneer iemand een oplossing heeft of ervaring heeft met het probleem zeg het dan ff. Het janken staat me naderbij dan het lachen

Verwijderd

Je moet gebruik maken van SQLOLEDB als provider in je connectionstring. je gebruikt nu waarschijnlijk een DSN verbinding of een MSDASQL (die is default als je geen Provider= opneemt in je connection string) en die kunnen fouten geven bij text of image/blob fields.

gebruik bij SQLServer altijd een directe connection, dus een connectionstring als:
"Provider=SQLOLEDB;Server=MyServer;Database=MyDatabase;UID=MySQLServerUser;PWD=Password"

(overigens weet ik niet hoe je je databasevelden vult, maar vermijdt recordset.update troep wanneer je met textvelden e.d. in de weer gaat want dat is erg inefficient. Gebruik commandobjects met stored procedures of command objects met een parametrized query. Voor textfields gebruik je dan als type in je parameter: adLongVarChar.)

  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Even een oude thread weer openbreken. Ik heb het zelfde probleem als topicstarter, ik gebruik ook altijd al SP's en heb daarom ook al deze code, maar welke waarde moet ik adLongVarChar meegeven, ik kan natuurlijk 8000 doen, maar ik wil er geen limit aan geven.

code:
1
2
3
4
5
With m_objCmd
    .CommandText = "sp_ResourceAdmin_UpdateResource"
    .Parameters.Append .CreateParameter("Comments", adLongVarChar, adParamInput, ????, m_strComments)
    .Execute
End With

weinig tot niks..


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Probeer Len(m_strComments) eens.

Today's subliminal thought is:


  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 04-02 09:14

Brothar

meester

en delphi gebruikt geen odbc ?

eagle


  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Annie schreef op 20 March 2003 @ 12:51:
Probeer Len(m_strComments) eens.
Is te doen, maar vind ik niet echt een mooie oplossing, ik heb gelezen dat je daar 'null' moet invullen maar dat werkt bij mij niet.

weinig tot niks..


  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Brothar schreef op 20 March 2003 @ 12:55:
en delphi gebruikt geen odbc ?
??

weinig tot niks..

Pagina: 1