Я не знаю, почему вы получаете сообщение ORA-06512 без другого сообщения об ошибке над ним. Вы уверены, что вы ввели все сообщение об ошибке?
ORA-06512 используется только при печати трассировки стека при возникновении исключения в коде PL / SQL. Вот полный пример:
ERROR at line 1: ORA-01001: invalid cursor ORA-06512: at "USER.SOME_PROCEDURE", line 5 ORA-06512: at line 1
Настоящая ошибка здесь - ORA-01001. ORA-06512s просто указывают, где произошла ошибка: в строке 5 из USER.SOME_PROCEDURE
, которая была вызвана по строке 1 анонимного блока PL / SQL.
Взглянув на ваш код, я могу заметить пара проблем:
FOR ... IN some_cursor LOOP ...
вы не должны явно открывать и закрывать курсор. Это будет сделано для вас автоматически с помощью цикла FOR
. Короче говоря, вы должны удалить все OPEN
и CLOSE
из вашей процедуры и повторите попытку.
Я взял ответ @CBarr и записал Сценарий Python 3, чтобы сделать это со списком файлов:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import os
import shlex
import subprocess
def run_command(absolute_path, command_name):
print( "Running", command_name, absolute_path )
command = shlex.split( command_name )
command_line_interface = subprocess.Popen(
command, stdout=subprocess.PIPE, cwd=absolute_path )
output = command_line_interface.communicate()[0]
print( output )
if command_line_interface.returncode != 0:
raise RuntimeError( "A process exited with the error '%s'..." % (
command_line_interface.returncode ) )
def main():
FILENAMES_MAPPING = \
[
(r"F:\\SublimeText\\Data", r"README.MD", r"README.md"),
(r"F:\\SublimeText\\Data\\Packages\\Alignment", r"readme.md", r"README.md"),
(r"F:\\SublimeText\\Data\\Packages\\AmxxEditor", r"README.MD", r"README.md"),
]
for absolute_path, oldname, newname in FILENAMES_MAPPING:
run_command( absolute_path, "git mv '%s' '%s1'" % ( oldname, newname ) )
run_command( absolute_path, "git add '%s1'" % ( newname ) )
run_command( absolute_path,
"git commit -m 'Normalized the \'%s\' with case-sensitive name'" % (
newname ) )
run_command( absolute_path, "git mv '%s1' '%s'" % ( newname, newname ) )
run_command( absolute_path, "git add '%s'" % ( newname ) )
run_command( absolute_path, "git commit --amend --no-edit" )
if __name__ == "__main__":
main()