Меню

Ошибка could not open boxfile

Несколько проблем, которые я вижу:

  • Используемая вами команда ADD создает файл с именем ToDoApp/ToDoApp, она даже не создает подкаталог.
  • ДОБАВИТЬ не нужно (вы не извлекаете tar или загружаете с URL-адреса), поэтому можно переключиться на КОПИЮ.
  • Вам нужно скопировать код.
  • Команды RUN можно переупорядочить для повышения эффективности кэширования.
  • Правильно используйте относительные пути и WORKDIR.
  • Аргументы должны быть разделены при использовании синтаксиса json.

Полученный Dockerfile выглядит так:

FROM python:3

#set envionment variables
ENV PYTHONUNBUFFERED 1

# run this before copying requirements for cache efficiency
RUN pip install --upgrade pip

#set work directory early so remaining paths can be relative
WORKDIR /ToDoApp

# Adding requirements file to current directory
# just this file first to cache the pip install step when code changes
COPY requirements.txt .

#install dependencies
RUN pip install -r requirements.txt

# copy code itself from context to image
COPY . .

# run from working directory, and separate args in the json syntax
CMD ["python", "./manage.py", "runserver", "0.0.0.0:8000"]
  • #159

Господа здравствуйте. Возникла проблема пытаюсь прошить ESP12F, но выдает вот такую ошибку:

Executable segment sizes:
ICACHE : 32768 — flash instruction cache
IROM : 231820 — code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 27613 / 32768 — code in IRAM (IRAM_ATTR, ISRs…)
DATA : 1496 ) — initialized variables (global, static) in RAM/HEAP
RODATA : 992 ) / 81920 — constants (global, static) in RAM/HEAP
BSS : 25608 ) — zeroed variables (global, static) in RAM/HEAP
Скетч использует 261921 байт (27%) памяти устройства. Всего доступно 958448 байт.
Глобальные переменные используют 28096 байт (34%) динамической памяти, оставляя 53824 байт для локальных переменных. Максимум: 81920 байт.
C:UsersVenusAppDataLocalArduino15packagesesp8266toolspython33.7.2-post1/python3 C:UsersVenusAppDataLocalArduino15packagesesp8266hardwareesp82663.0.0/tools/upload.py —chip esp8266 —port COM7 —baud 115200 —before default_reset —after hard_reset write_flash 0x0 C:UsersVenusAppDataLocalTemparduino_build_166446/Blink.ino.bin
esptool.py v3.0
Serial port COM7
Traceback (most recent call last):
File «C:UsersVenusAppDataLocalArduino15packagesesp8266hardwareesp82663.0.0/tools/upload.py», line 66, in <module>
esptool.main(cmdline)
File «C:/Users/Venus/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/esptoolesptool.py», line 3551, in main
esp = chip_class(each_port, initial_baud, args.trace)
File «C:/Users/Venus/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/esptoolesptool.py», line 271, in init
self._port = serial.serial_for_url(port)
File «C:/Users/Venus/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/pyserialserialinit.py», line 90, in serial_for_url
instance.open()
File «C:/Users/Venus/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/pyserialserialserialwin32.py», line 64, in open
raise SerialException(«could not open port {!r}: {!r}».format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port ‘COM7’: OSError(22, ‘������� �������������� ����������.’, None, 433)
serial.serialutil.SerialException: could not open port ‘COM7’: OSError(22, ‘������� �������������� ����������.’, None, 433)

Именно последние 3 строчки не понятны. Порт компьютер видит, и в ардуино и в диспетчере устройств. Но если я даже пытаюсь просто открыть Монитор порта, вылезает вот такая ошибка — Ошибка открытия последовательного порта «COM7» (Port busy)
Пытался перезагружать и usb порт менял, все бестолку. Можете подсобить?

  • изображение_2022-02-08_151428.png

    411.7 KB
    Просмотры: 8

1. Предисловие

1.1 Обзор

Эта статья представляет несколько общих проблем PostgreSQL и начинается с явления, постепенно исследуя проблему, анализирует причину проблемы и дает решения.

Проблемы, описанные в этой статье, делятся на две категории: одна — проблема, которую PostgreSQL не может запустить, а другая — проблема, с которой некоторые объекты базы данных не могут быть доступны после запуска PostgreSQL.

1.2 Программная среда

Версия PostgreSQL, используемая в этой статье, составляет 9.2.

1.3 Некоторые согласованные сроки

Postgresql Путь установки: указывает путь установки платформы IVMS-8700 PostgreSQL, по умолчанию «D: Program Files Postgresql 9.6″ «» «»

Папка Bin: папка Bin под пути установки PostgreSQL.

Папка данных: папка данных в рамках пути установки PostgreSQL.

2. Вопросы и решения

2.1 PostgreSQL не может начать

Когда PostgreSQL не начался нормально, он снова потерпел неудачу в «Сервисе».

2.1.1 Портовая занятия

Сначала нам нужно определить, занят ли порт услуги. Порт по умолчанию службы PostgreSQL составляет 5432, поэтому мы выполняем следующие команды в командной строке

netstat -ano | find /i «5432»

Если найдено процесс использования порта 5432, это показывает, что занятие порта вызывает запуск услуги:

PID этого процесса — 2364. Вы хотите посмотреть, какой это процесс, вы можете выполнить:

  tasklist | findstr «2364»

Результаты выполнения следующие:

Вы можете положить конец этому процессу на странице Processcess-Process или по следующей команде:

taskkill /f /pid 5432

2.1.2 could not open control file “global/pg_control”:Permission denied

  Если порт не занят, то вы можете его использоватьPostgreSQLНативная команда запускает это.

ВойтиpostgresqlПод пути установки bin Папка, откройте командную строку здесь и выполните следующую команду:

.pg_ctl start -D ..data

Если программа сообщает о следующих ошибках

ERROR: could not open control file global/pg_control: Permission denied

Он показывает, что текущие пользователи операционной системы теряют авторитет папки данных и ее контента.

Ниже приведено решение:

1. Во -первых, введите путь установки PostgreSQL, справа -щелкните папку данных, нажмите на атрибуты -Security -Editor, вы можете увидеть разрешения всех пользователей или групп пользователей.

2. Убедитесь, что система и администратор имеют «полное управление» разрешения. Пользовательская группа пользователей имеет только три типа разрешений: «чтение и выполнение», «Список содержимого папки» и «чтение». Когда база данных предлагает «недостаточные разрешения», следует добавлять «модификацию» и «написание».

    

3. Сохраните и попробуйте снова выступить под папкой бина:

.pg_ctl start -D ..data

Обратите внимание, может ли база данных PostgreSQL начать.

2.1.3 could not locate a valid checkpoint record

Если база данных активирована, ее предложено «запустить процесс сервера» и быть успешным в течение долгого времени. Как показано на рисунке ниже, вам необходимо проверить журнал запуска базы данных. Они расположены в PG_LOG в папке данных Анкет

Откройте журнал запуска базы данных, когда возникает проблема, и проверьте информацию.

Если в журнале есть информация, аналогичная следующим черным телам, это означает, что журнал до -записи (Wal (Wal, также известный как журнал транзакций) в базе данных PostgreSQL поврежден:

LOG:  could not open file «pg_xlog/0000000100000000000000E7» (log file 0, segment 231): No such file or directory

LOG:  invalid primary checkpoint record

LOG:  could not open file «pg_xlog/0000000100000000000000E7» (log file 0, segment 231): No such file or directory

LOG:  invalid secondary checkpoint record

PANIC:  could not locate a valid checkpoint record

Решение заключается в следующем:

Введите папку Bin, откройте командную строку здесь и выполните следующую команду:

.pg_resetxlog.exe -f ..data

После того, как журнал будет сброшен, попробуйте запустить базу данных.

2.1.4 Описание идентификатора события 0 из источника PostgreSQL не может быть найдено.

Если приведенный выше метод не решает проблему, то нам нужно ввести диспетчер событий, чтобы увидеть, есть ли какой -либо журнал ошибок:

В случае применения журнала зрителей визиторов, посмотрите, есть ли следующие ошибки:

Невозможно найти источник PostgreSQL мероприятие ID 0 описание. Не установлен на локальном компьютере, который вызвал этот инцидент,Или установка повреждена. Вы можете установить или восстановить компоненты на локальном компьютере.

Если такая информация появляется, это означает, что программное обеспечение PostgreSQL было повреждено и должно быть переустановлено. Тем не менее, файл данных не обязательно поврежден, поэтому, если в последний раз, когда он резервен, база данных сгенерировала очень важные данные (например, информация о счетах), вы должны скопировать папку данных в другой каталог, а затем переустановить платформу и и Восстановите данные папки данных.

2.1.5 Could not read from file «pg_clog/000E» at offset 172032

Есть также необычная ситуация. Если в журнале появляется следующая информация:

ERROR: could not access status of transaction 710708

DETAIL:  Could not read from file «pg_clog/000E» at offset 172032: No error.

Это находится вdataПод папкойpg_clogИмя 000E Файл журнала был потерян.

Решение заключается в следующем:

существуетlinux В операционной системе выполните следующие команды:

dd if=/dev/zero of=/root/000E bs=256k count=1

Или установите DD в Windows, а затем выполните:

dd if=/dev/zero of=D:00E bs=256k count=1

Затем скопируйте созданный файл 000e вdataПод папкойpg_clog середина.

2.2 После запуска базы данных некоторые базы данных или таблицы нельзя получить

В этом случае вам нужно войти dataПод папкойpg_logПапка, постоянно проверяйте беговые журналы.

2.2.1 permission denied for relation tb_door

Если в журнале есть аналогичная информация, это показывает, что у текущего пользователя доступа нет таблицыtb_doorНекоторые разрешения:

ERROR:  permission denied for relation tb_door

Если вы хотите текущего пользователя (чтобыmy_userНапример) наличие конкретных разрешений на доступ (на основеВыберите, вставьте, обновите, удаляйте в качестве примера), Вы можете решить это так:

  1. Первый проходpostgresПользователь или владетьСоответствующие разрешения TB_DOOR, то есть журналы пользователя в базе данных, которая предоставила разрешения;
  2. Выполнить следующие команды, чтобы предоставить разрешения пользователям:grant SELECT,INSERT,UPDATE,DELETE on tb_door to my_user

2.2.2 invalid page header in block 120 of relation base/272816/309624

Если в журнале появляется следующая информация:

ERROR: invalid page header in block 120 of relation base/272816/309624

Это означает, что файл таблицы данных поврежден. Обычно это вызвано ненормальным сбоем энергии или недоразумением.Здесь «272816» является идентификатором объекта (OID) базы данных проблемы.

Если количество поврежденных таблиц и количество поврежденных страниц невелико, мы можем восстановить целое за счет жертвоприношения части данных; если количество поврежденных таблиц слишком велика или потеря данных очень важна, мы Нужно восстановить данные из резервной копии.

Когда количество поврежденных таблиц и количество поврежденных страниц невелико, решение следующим образом:

  1. Определите базу данных проблемы. Подключите любую базу данных и выполните оператор SQL ниже:

select datname from pg_database where oid = 272816;

Результаты запроса следующие:

testdb

Это означает, что название базы данных проблемы является TestDB

2. Найдите поврежденный объект базы данных. База данных задачи подключения выполните следующее оператор SQL:

select relname,relkind from pg_class where relfilenode = 309624

Если relkind = r в результатах запроса, таблица повреждена.

Например:

tb_door, r

Relname = tb_door Это означает, что поврежденная таблица — tb_door.

Если relkind = i в результатах запроса, это индекс, который поврежден.

Например:

dept_number_index, i

или же:

tb_dept_pkey, i

Следует отметить, что ущерб может быть обычным индексами или основным или уникальным ключом. Если имя индекса является «_pkey», оно, вероятно, будет принадлежать первичному ключу, и имя содержит «_key», оно может принадлежать к уникальному ключу.

Также необходимо обратить на это внимание. Предварительным условием для исправления таблицы/индекса является то, что поврежденная таблица — это таблица/индекс, созданная приложением, а не системная таблица PostgreSQL и индекс, созданный на нем. Если системная таблица/индекс, созданный на нем, повреждены, база данных необходимо восстановить из резервной копии. Чтобы определить, является ли таблица системной таблицей, самый простой способ: если имя таблицы «pg_», это означает, что это системная таблица.

чаевые

Значения pgclass.relkind являются следующими:

R: представляет обычную таблицу (обычная таблица);

I: указывает на индекс (индекс);

S: указывает последовательность (последовательность);

V: представляет представление (View);

M: укажите материализованный вид (материализованный вид);

C: представляет композитный тип (композитный тип);

T: представляет Toast Table (Toast Table);

F: представляет иностранную таблицу (внешняя таблица)

3. Исправьте поврежденный объект базы данных. Поврежденная база данных происходит для выполнения команды ремонта.

Если таблица повреждена, возьмите TB_DOOR в качестве примера, затем выполните следующие команды, чтобы завершить ремонт:

set zero_damaged_pages = on;

vacuum full tb_door;

reindex table tb_door;

Если поврежденный является обычным индексом, возьмите dept_number_index в качестве примера, затем выполните его по порядку:

set zero_damaged_pages = on;

reindex index dept_number_index;

Если урон является основным ключом или уникальным ключом, сначала вам нужно найти таблицу, которую он находится. TB_DEPT_PKEY В качестве примера:

Select tablename,indexname from pg_indexes where indexname = ‘tb_dept_pkey’;

результат поиска:

tb_dept, tb_dept_pkey

Затем получите определение индекса:

select pg_get_constraintdef((select oid from pg_constraint where conname = ‘ tb_dept_pkey ‘));

результат поиска:

       PRIMARY KEY (dept_id)

Затем повторно измените это ограничение:

Alter table drop constriant tb_dept_pkey;

Alter table add constraint tb_dept_pkey PRIMARY KEY (dept_id);

2.2.3 could not read block 190 in file «base/272816/309624»

Решение и метод этой проблемы2.2.2 Проблема фестиваля точно такая же.

2.2.4 could not open file «base/272816/379923»: No such file or directory

Если в журнале появляется следующая информация:

2019-01-21 14:28:03 HKT ERROR:  could not open file «base/272816/379923″: No such file or directory

Объяснять,oidза272816В базе данных,oidза379923Файл, соответствующий таблице, удален.

Решение заключается в следующем:

1. Сначала судите, какая база данных произошла. Подключите любую базу данных и выполните следующим образомsql

select datname from pg_database where oid = 272816

Результаты запроса следующие:

    testdb

2. Восстановите базу данных из резервной копии.

 
Кирилл
 
(2004-08-28 17:31)
[0]

Мастера, помогите разобраться!
Я хочу создать ресурс для файла Mysound.WAV
Создаю текст. док., в нём пишу
MY_RES RSDATA C:Folder1Mysound.WAV
Потом захожу в ПУСК> …> Командная строка, там пишу
Brcc32 NOTEPAD1.RC
Выдаётся ошибка
Error Could not open input file NOTEPAD1.RC
Что я делаю не так?


 
GuAV ©
 
(2004-08-28 17:40)
[1]


> MY_RES RSDATA C:Folder1Mysound.WAV

MY_RES RCDATA C:Folder1Mysound.WAV

а лучше:
MY_RES WAVE C:Folder1Mysound.WAV — чтобу потом PlaySound его нашла.


 
GuAV ©
 
(2004-08-28 17:42)
[2]


> Error Could not open input file NOTEPAD1.RC

Хотя colud not open — не могу открыть. Это значит что или нет такого файла, или он открыт кем-то ещё или ещё какая фигня.


 
Yanis ©
 
(2004-08-28 17:44)
[3]

Brcc32 C:[Где находится файл RC]NOTEPAD1.RC


 
Кирилл
 
(2004-08-28 18:35)
[4]

Ничего не помогает!


 
antonn ©
 
(2004-08-28 18:51)
[5]

Создай ярлык в папке %delphibin программы Brcc32, а в параметрах задай имя файла. И создай его тут-же.


 
GuAV ©
 
(2004-08-28 19:01)
[6]

Может винда скрывает .тхт  после .rc
см. настройки проводника.


 
Кирилл
 
(2004-08-28 19:18)
[7]


> Может винда скрывает .тхт  после .rc
> см. настройки проводника.

NOTEPAD1.TXT помогло!!
Однако дальше опять проблема.
(Дело в том, что подобную процедуру я провожу впервые)
Компилятор не распознаёт PLAYSOUND и SND_MEMORY!


 
Кирилл
 
(2004-08-28 20:46)
[8]

Люди, помогите!
С чем это может быть связано? (7)


 
GuAV ©
 
(2004-08-28 20:48)
[9]

подключи MMSystem.

> SND_MEMORY

А чем бы прямо из ресурса не проиграть?


 
Кирилл
 
(2004-08-28 21:06)
[10]

Теперь с компилятором проблем нет, но звук почемуто не играется


 
Vit@ly ©
 
(2004-08-28 21:17)
[11]


> Теперь с компилятором проблем нет, но звук почемуто не играется

А как «проигрываешь»?
Выложи код 🙂


 
Кирилл
 
(2004-08-28 21:44)
[12]

unit Unit1;

{$R RES1.Res}

interface

...

implementation

{$R *.dfm}

Var
pData: Pointer;
hResource: THandle;

procedure TForm1.Button1Click(Sender: TObject);
begin
PlaySound(pData, 0, SND_MEMORY);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
hResource:=LoadResource( hInstance, FindResource(hInstance, "MY_RES", RT_RCDATA));
pData := LockResource(hResource);
end;

end.

{Я алгоритм взял в FAQ
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988622528&n=22}


 
GuAV ©
 
(2004-08-28 22:11)
[13]

попробуй лудше писать так,
   PlaySound(«MY_RES»,Hinstance,SND_RESOURCE or SND_ASYNC); там где проиграть а ресурс обзови WAVE.

ps: скорее всего RCDATA не RCDATA — вот и не работает.


 
Кирилл
 
(2004-08-28 22:39)
[14]


> попробуй лудше писать так,
>    PlaySound(«MY_RES»,Hinstance,SND_RESOURCE or SND_ASYNC);
> там где проиграть а ресурс обзови WAVE.

Получилось, большое спасибо!
И последний вопрос (в нагрузочку 🙂 ):
Можно ли програмно изменять громкость, с которой процедура
PlaySound играет звук?


 
GuAV ©
 
(2004-08-28 22:54)
[15]


> Можно ли програмно изменять громкость, с которой процедура
> PlaySound играет звук?

с помощью PlaySound — только меняя громкость в миксере.


 
Кирилл
 
(2004-08-28 22:55)
[16]


> меняя громкость в миксере.

Это как?


 
GuAV ©
 
(2004-08-28 23:32)
[17]

Это… например sndvol32.exe
RTFM: Audio Mixers


 
Кирилл
 
(2004-08-29 12:52)
[18]

Если быть ближе к делу, знаешь, в игрушках можно для звуков чудовищ и для звуков музыки поставить разную громкость.
Так вот, хотелось бы знать, можно ли в Делфи реализовать подобную фигню (т. е. требуется одновременно воспроизводить разные звуки с разной громкостью) ??


 
Кирилл
 
(2004-08-29 13:22)
[19]

Подскажите пожалуста кто-нибудь 18, очень надо!


 
KSergey ©
 
(2004-08-29 13:28)
[20]

Одно записать в формате midi, другое — как wav
В миксере раздельно регулировать громкость


 
Кирилл
 
(2004-08-29 13:38)
[21]


> В миксере раздельно регулировать громкость

Как вообще это делать? (напиши пожалуста пару строк)


 
KSergey ©
 
(2004-08-29 13:59)
[22]

да про эти миксеры в том же яндексе..
не буду искать, надоело
попробуй в разделе «игры» поглядеть -возможно, что-то такое там есть


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка could not mount the virtual disk
  • Ошибка code 500 на телевизоре