Чтение SQL-операторов из SQL-файла с переменной DIR в Perl - PullRequest
0 голосов
/ 18 мая 2018

Здравствуйте. Я пытаюсь прочитать файл sql с помощью perl для выполнения в базе данных (для целей тестирования я просто печатаю извлеченный запрос sql из файла sql).Прямо сейчас у меня есть рабочая подпрограмма, которая будет извлекать SQL-запрос из файла SQL и печатать это

my $sqlfile = get_sql_from_file("SQL\lastVacuum.sql");
print $sqlfile;

sub get_sql_from_file {
    open my $fh, '<', shift or die "Can't open SQL File for reading: $!";
    local $/;
    return <$fh>;
};

Но я хочу, чтобы файл SQL был в переменной DIR, поэтому я попытался добавить DIR вСтрока, как это.

    $SQLdir = "C:\Users\Bilal\Desktop\postgres\sql\postgres"; 
    my $sqlfile = get_sql_from_file("SQL" , $SQLdir ,"/postgres/lastVacuum.sql"); 
    print $sqlfile;

Но я продолжаю получать сообщение «Не удается открыть файл SQL для чтения: разрешение запрещено».Это потому, что я читаю с диска C ...

Я действительно застрял в этом надолго, и я надеюсь, что кто-то может помочь мне в правильном направлении

1 Ответ

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

Ваш процесс чтения файла правильный.Но когда вы передаете аргумент в подпрограмме, тогда требуется 3 аргумента.Для объединения, пожалуйста, следуйте приведенному ниже синтаксису: <pre></p> <pre><code>$SQLdir = "C:\Users\Bilal\Desktop\postgres\sql\postgres"; my $T_SQLdir = "$SQLdir" . "/postgres/lastVacuum.sql" my $sqlfile = get_sql_from_file($T_SQLdir); print $sqlfile;

Здесь я передаю только один аргумент с правильным путем файла sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...