Файлы SQLLDR и .ctl

У меня есть сценарий ddl для создания некоторых таблиц, но данные находятся в файлах .ctl, и я никогда не использовал его раньше. Я провел некоторые исследования, но не совсем понял, как использовать SQLLDR. Как это работает? Могу ли я использовать другой способ выполнения файла .ctl? Я просто использую PL/SQL и Oracle 10G.


person Reinaldo Peres    schedule 10.12.2020    source источник
comment
См. docs.oracle.com/cd/B10501_01/text.920 /a96518/aload.htm. В посте есть примеры, которые должны помочь.   -  person VN'sCorner    schedule 10.12.2020


Ответы (1)


Как вы выразились, это будет выглядеть так:

  • используя скрипт DDL, создайте все эти таблицы

  • если файлы CTL содержат данные, я предполагаю, что они находятся в разделе BEGINDATA. Хорошо, лучше быть не может, потому что как только вы запустите загрузчик, он будет знать, где найти данные для загрузки (это также означает, что управляющий файл использует infile *, верно?)

  • у вас должен быть доступ к SQL*Loader

    • if you can connect to the database server, it is there
    • if you're using your own PC, see whether it is installed
      • along with the Client software
      • или у вас может быть даже база данных на вашем ПК (XE?)
  • когда он у вас есть (sqlldr.exe), убедитесь, что его каталог содержится в переменной среды PATH, или, если нет, вызовите его, указав полный путь к нему.

  • откройте командную строку вашей операционной системы

  • перейдите в каталог, содержащий CTL файлов

  • запустить загрузчик как

    sqlldr scott/tiger control=file1.ctl log=file1.log
    

Если все в порядке, данные будут загружены. Проверьте файлы журнала!

person Littlefoot    schedule 10.12.2020
comment
Хорошее объяснение, спасибо, понял! - person Reinaldo Peres; 11.12.2020
comment
Пожалуйста, я рад, если это помогло. - person Littlefoot; 11.12.2020