Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / bfilename - и путь с пробелами / 12 сообщений из 12, страница 1 из 1
21.12.2016, 16:32
    #39372117
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
Подскажите как экранировать пробелы в пути к файлам?
если пробелов в пути нет - то все открывается без ошибок

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create or replace directory PICTURE_DIR as 'С:\2016 12 21\002 22-26\535583908123' 
/
grant all on directory PICTURE_DIR to public
/
declare
  src   bfile;
begin
  src := bfilename('PICTURE_DIR', '123.jpg');
  dbms_lob.open(src);
  dbms_lob.close(src);
end;



ORA-22288: файловая или LOB операция FILEOPEN завершилась со сбоем
The system cannot find the path specified.
ORA-06512: на "SYS.DBMS_LOB", line 1014
ORA-06512: на line 5
--
~PPA() {} //
...
Рейтинг: 0 / 0
21.12.2016, 16:40
    #39372124
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
PPA,

На сервере нет диска 'С'.
...
Рейтинг: 0 / 0
21.12.2016, 16:44
    #39372129
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
PPA,
Попробуйте заключить в двойные кавычки
Код: plsql
1.
create or replace directory PICTURE_DIR as '"С:\2016 12 21\002 22-26\535583908123"'
...
Рейтинг: 0 / 0
21.12.2016, 16:45
    #39372130
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
-2-,

Cервер на винде и диск С там есть

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Connected to Oracle Database 11g Release 11.2.0.4.0 

SQL> 
SQL> create or replace directory PICTURE_DIR as 'C:\TEMP'
  2  /
Directory created
SQL> grant read on directory SYS.PICTURE_DIR to public
  2  /
Grant succeeded
SQL> grant read on directory PICTURE_DIR to public
  2  /
Grant succeeded
SQL> declare
  2    src   bfile;
  3    vBlob blob;
  4  begin
  5     src := bfilename('PICTURE_DIR', '1');
  6     dbms_lob.createtemporary(vBlob,true);
  7     dbms_lob.FileOpen(src);
  8     dbms_lob.LoadFromFile(vBlob, src, dbms_lob.GetLength(src));
  9     dbms_lob.FileClose(src);
 10  end;
 11  /
PL/SQL procedure successfully completed
...
Рейтинг: 0 / 0
21.12.2016, 16:47
    #39372135
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
SQL*Plus,

Двойные пробовал - не работает:

ORA-22288: файловая или LOB операция FILEOPEN завершилась со сбоем
The filename, directory name, or volume label syntax is incorrect.
ORA-06512: на "SYS.DBMS_LOB", line 1014
ORA-06512: на line 5
...
Рейтинг: 0 / 0
21.12.2016, 17:03
    #39372150
vva638
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
а так?

Код: plsql
1.
create or replace directory PICTURE_DIR as 'С:\"2016 12 21"\"002 22-26"\535583908123' 
...
Рейтинг: 0 / 0
21.12.2016, 17:09
    #39372159
Alexey Zhidkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
PPA,

Может проще не использовать пробелы в именах? :)
...
Рейтинг: 0 / 0
21.12.2016, 17:19
    #39372170
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
PPACервер на винде и диск С там естьнет.
...
Рейтинг: 0 / 0
21.12.2016, 17:26
    #39372177
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
PPA,

Код: plsql
1.
select dump('С'), dump('C') from dual;


медитируй
...
Рейтинг: 0 / 0
21.12.2016, 18:12
    #39372238
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
PPA,

Пробелы тут ни при чем:

Код: plsql
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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
c:\>dir "c:\One Two three"
 Volume in drive C is OS
 Volume Serial Number is 3CCB-9E57

 Directory of c:\One Two three

12/21/2016  10:01 AM    <DIR>          .
12/21/2016  10:01 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  523,198,656,512 bytes free

c:\>sqlplus scott@pdborcl12

SQL*Plus: Release 12.1.0.1.0 Production on Wed Dec 21 10:02:05 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter password:
Last Successful login time: Tue Dec 20 2016 07:43:49 -05:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> create directory one_two_three as 'c:\One Two three';

Directory created.

SQL> declare
  2      v_file utl_file.file_type;
  3  begin
  4      v_file := utl_file.fopen('ONE_TWO_THREE','test.txt','w');
  5  end;
  6  /

PL/SQL procedure successfully completed.

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

c:\>dir "c:\One Two three"
 Volume in drive C is OS
 Volume Serial Number is 3CCB-9E57

 Directory of c:\One Two three

12/21/2016  10:05 AM    <DIR>          .
12/21/2016  10:05 AM    <DIR>          ..
12/21/2016  10:05 AM                 0 test.txt
               1 File(s)              0 bytes
               2 Dir(s)  523,197,816,832 bytes free

c:\>sqlplus scott@pdborcl12

SQL*Plus: Release 12.1.0.1.0 Production on Wed Dec 21 10:10:44 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter password:
Last Successful login time: Wed Dec 21 2016 10:06:46 -05:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> declare
  2    src   bfile;
  3  begin
  4    src := bfilename('ONE_TWO_THREE','test.txt');
  5    dbms_lob.open(src);
  6    dbms_lob.close(src);
  7  end;
  8  /

PL/SQL procedure successfully completed.

SQL>



SY.
...
Рейтинг: 0 / 0
21.12.2016, 18:14
    #39372245
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
SY,

Соломон, у него нет диска С, у него есть диск C.
...
Рейтинг: 0 / 0
21.12.2016, 18:19
    #39372256
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bfilename - и путь с пробелами
SYПробелы тут ни при чем:Вроде ж уже разъяснили Павлу, что он попал в ловушку омографа.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / bfilename - и путь с пробелами / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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