Book a Demo

Author Topic: DAO.Field [3036] / [3001] Error  (Read 4299 times)

Daiim

  • EA User
  • **
  • Posts: 51
  • Karma: +0/-0
    • View Profile
DAO.Field [3036] / [3001] Error
« on: May 18, 2022, 06:38:36 pm »
I'm using a local EAP repository file and use quite long JScript files for data import automation. I can not change this as it is set by the customer, so what can I do now?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13471
  • Karma: +571/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: DAO.Field [3036] / [3001] Error
« Reply #1 on: May 18, 2022, 06:59:57 pm »
I'm using a local EAP repository file and use quite long JScript files for data import automation. I can not change this as it is set by the customer, so what can I do now?

What is the problem exactly?
My crystal ball is in the shop for maintenance, so I can't really see what your code is doing, where you get the error, which version you are using etc... ;D

Geert

Daiim

  • EA User
  • **
  • Posts: 51
  • Karma: +0/-0
    • View Profile
Re: DAO.Field [3036] / [3001] Error
« Reply #2 on: May 18, 2022, 07:13:02 pm »
Yeah, sorry - in this case I've to use a local file repository (eap, DB Version 4.01), and a Corporate Edition 14.1.1427.
I use a bunch of quite long jscript's to import data and do model validation, data integrity checks and artifact creation/update for the instance model.
Now, after adding a few more lines, EA complains with the Errors [3036] and [3001] telling me about argument errors (3001) and a full database (3036) when I try to save a file (any, no matter which).
The current size of the repository file is about 104MB, so far away from 2GB limit.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13471
  • Karma: +571/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: DAO.Field [3036] / [3001] Error
« Reply #3 on: May 18, 2022, 07:26:43 pm »
Yeah, sorry - in this case I've to use a local file repository (eap, DB Version 4.01), and a Corporate Edition 14.1.1427.
I use a bunch of quite long jscript's to import data and do model validation, data integrity checks and artifact creation/update for the instance model.
Now, after adding a few more lines, EA complains with the Errors [3036] and [3001] telling me about argument errors (3001) and a full database (3036) when I try to save a file (any, no matter which).
The current size of the repository file is about 104MB, so far away from 2GB limit.

So you are editing a long script (how long exactly?) in an .eap file and you are getting these error when trying to save the script?

There are a few things you can try:
- run a project integrity check
- Compact/repair your .eap
- Upgrade your model to Jet 4.0

But in the end you are trying to do a professional job with an amateur tool (.eap). The only proper solution is to switch to a real database and leave the kids toys for the kids.
It's like you're trying to build a house using plastic sandbox toys. Any building contractor worth his paycheck would flat-out refuse to do that and demand professional tools for the job.

Geert

Daiim

  • EA User
  • **
  • Posts: 51
  • Karma: +0/-0
    • View Profile
Re: DAO.Field [3036] / [3001] Error
« Reply #4 on: May 18, 2022, 08:11:29 pm »
So you are editing a long script (how long exactly?) in an .eap file and you are getting these error when trying to save the script?

Around 1.000 lines of code (incl. comments, empty lines), but using a bunch of includes of splitted libs. Doing further splits did not solve the issue.

There are a few things you can try:
- run a project integrity check
- Compact/repair your .eap
- Upgrade your model to Jet 4.0
  • Integrety check showed no issues.
  • Not shure how to compact/repair an .eap?
  • I've no rigths and options to do any changes on my environment.

But in the end you are trying to do a professional job with an amateur tool (.eap). The only proper solution is to switch to a real database and leave the kids toys for the kids.
It's like you're trying to build a house using plastic sandbox toys. Any building contractor worth his paycheck would flat-out refuse to do that and demand professional tools for the job.

So true. But my job is to do architecture with pen+paper (excel) and I do use the stuff I have to scale workload in my role. My requests have been denied for about a year now, so I've to use what I have, and do my best to change the common thinking about architectural work by showing and proving better approaches.
« Last Edit: May 18, 2022, 08:58:44 pm by Daiim »

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13471
  • Karma: +571/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: DAO.Field [3036] / [3001] Error
« Reply #5 on: May 18, 2022, 08:31:24 pm »
Around 1.000 lines of code (incl. comments, empty lines), but using a bunch of includes of splitted libs. Doing further splits did not solve the issue.
That's not really long. I have scripts that are much longer, and they all include a bunch of other scripts.
There could be an issue with non standard characters though. (such as "é" or "`"). Those issues might be solved by upgrading to Jet4
Not shure how to compact/repair an .eap?
Configure | Integrity | Manage .EAP/EAPX...
So true. But my job is to do architecture with pen+paper (excel) and I do use the stuff I have to scale workload in my role. My requests have been denied for about a year now, so I've to use what I have, and do my best to change the common thinking about architectural work by showing and proving better approaches.
So you are like a building contractor that simply goes to work with the plastic tools, hoping to convince their boss to one day buy decent metal tools. ???
Excel and Access are no tools to do professional Architecture.

Geert

Daiim

  • EA User
  • **
  • Posts: 51
  • Karma: +0/-0
    • View Profile
Re: DAO.Field [3036] / [3001] Error
« Reply #6 on: May 18, 2022, 08:57:57 pm »
Excel and Access are no tools to do professional Architecture.
We both agree on that. But as an consultant my job is to support the customer to improve. And even the environment is not optimal, it works. Could be better - for sure - but complaining is no solution. And even EA is far from optimal in many things necessary for scalable architectural work. But it's the best tool I know of, so I use it and do not complain about it's drawbacks. But I'm open for job offers, if you alluded to it.  ;)

After trying a couple of solution approaches I guess I found the origin of the problem. The import logs are pushed to an EA artifact's note attribute. As they can be quite long, entries exceeding a certain length seem to blow up the database. Deleting the artifact or notes value did not help. But after roling back the import, and do it again with stronger filter rules - resulting in a smaller log - did not cause an error on extending the scripts.
Strange behaviour and confusing, as setting Notes did not cause any exception or db error, but the problem seems to be solved.

Lessons learned: EA.Element.Notes attribute (much likely any Notes attribute) does not tolerate too much text. ^^
« Last Edit: May 18, 2022, 09:00:28 pm by Daiim »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: DAO.Field [3036] / [3001] Error
« Reply #7 on: May 18, 2022, 11:51:57 pm »
It's more the "database" (aka M$Access) which gets hickups with too much data. Use a proper database and it won't be an issue. Though avoiding storage of anyway unneeded stuff is the best one can do to start with.

q.