Сохранение файла ODB с помощью Python: ошибка при попытке усечь таблицу только для чтения - PullRequest
0 голосов
/ 04 мая 2018

Я хочу прочитать файл ODB, а затем добавить поле и сохранить полученный файл ODB. Куд очень прост (приведен ниже). Но я получаю сообщение об ошибке: OdbError: сбой сохранения базы данных. ** Ошибка при попытке усечь таблицу только для чтения.

Возможно, проблема в файле ODB, а не в самом коде.

Кто-нибудь знает, что там может быть не так?

Код:

from odbAccess import *
from abaqusConstants import *
from odbMaterial import *
from odbSection import *
from numpy import fabs as fabs
import numpy as np
import sys
import math
import os
import datetime
from types import IntType
print('       Reading ODB    ' ) 
odb = openOdb(path='iog.odb') 
odb.save()
odb.close()

1 Ответ

0 голосов
/ 04 мая 2018

Если вы используете метод odbAccess.openOdb, ошибка « OdbError: сбой сохранения базы данных. *** ОШИБКА: попытка усечь таблицу только для чтения » должна происходить только в том случае, если Odb был открыт с помощью необязательный аргумент readOnly=True. По моему опыту и согласно документации, значение по умолчанию для этого метода readOnly=False, что означает, что вы должны быть в состоянии читать и писать. Однако вы можете попытаться сделать это явно, добавив необязательный аргумент, такой как:

import odbAccess
odb = odbAccess.openOdb(path="Job-1.odb", readOnly=False)

Если это по-прежнему не удается, я подозреваю, что права доступа к файлам были изменены. Например, в Windows вы можете щелкнуть правой кнопкой мыши файл .odb, выбрать «Свойства» и посмотреть, был ли отмечен атрибут «Только для чтения».

...