powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / перевод данных из dbf->postgres знак "\" в строке, string="ул. Ромашкина 9\3" perl
2 сообщений из 2, страница 1 из 1
перевод данных из dbf->postgres знак "\" в строке, string="ул. Ромашкина 9\3" perl
    #38137866
izver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здрасте.
Есть дбф jrbpi файл.

мне надо перенести данные из дбф в postgresl.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
	
use DBD::XBase;
use DBI;
use Encode qw /from_to/;
$dbname = "sbit";
$username = "postgres";
$password = "pass";
$dbhost = "ip";
$dir = "/mnt/sbit/MOLDS/";
my $xbase_dbh = DBI->connect("DBI:XBase:$dir", undef, undef, {RaiseError =>1});
$dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$dbhost","$username","$password",
            {PrintError => 0});
if ($DBI::err != 0) {
  print $DBI::errstr . "\n";
  exit($DBI::err);
}
my $sel = "SELECT ADPOT FROM jrbp";
my $sel_csr = $xbase_dbh->prepare($sel);
$sel_csr->execute();
@st=();
while ( @row = $sel_csr->fetchrow_array )
{
 foreach $st(@row)
{push(@st,$st."\t");}
$qw="INSERT INTO jrbpi(ADPOT)
values(substr('$st[-1]',1,35))";
Encode::from_to ($qw, 'cp866', 'utf8');
$pgb = $dbh->prepare($qw) or die "Prepare: $qw", $dbh->errstr;
$pgb->execute or die "Executing: $qw", $pgb->errstr;
}



Прога выдает ошибку.


WARNING: nonstandard use of escape in a string literal
LINE 2: values(substr('ул. Ромашкина 9\3 ',1,35))
^
HINT: Use the escape string syntax for escapes, e.g., E'\r\n'


Ошибка в содержании символа "\".

Как обойти эту бяку?

Нужно, чтобы загружалась с этим символом.

Пробовал так
Код: php
1.
2.
3.
4.
5.
$adpots=substr($st[-1],1,35);
$adpots="$adpots";
$adpots=~ s{"\"}{"/"}g ;
$qw="INSERT INTO jrbpi(ADPOT)
values('$adpots')";



Не помогает.

Не как не решить?
...
Рейтинг: 0 / 0
перевод данных из dbf->postgres знак "\" в строке, string="ул. Ромашкина 9\3" perl
    #38138956
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
передавайте переменную через параметры или экранируйте данные с помощью предназначенных для этого функций.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / перевод данных из dbf->postgres знак "\" в строке, string="ул. Ромашкина 9\3" perl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]