2016-12-21 8 views
2

В isql-vt (имя Ubuntu для Виртуоз-х isql), я пытаюсь импортировать файл тест .ttl, но получает сообщение об ошибке «Не удается стат файла»:Виртуоз ISQL импорта данных не может стат файла

SQL> DB.DBA.TTLP(file_to_string_output('./scratch/ttl/granule.ttl'),'','http://origin.mytest.org/'); 

*** Error 42000: [Virtuoso Driver][Virtuoso Server]FA112: Can't stat file './scratch/ttl/granule.ttl', error (2) : No such file or directory 

Однако файл определенно существует; Я могу даже cat это:

SQL> !cat ./scratch/ttl/granule.ttl; 
@prefix datacite: <http://purl.org/spar/datacite/> . 
@prefix prov: <http://www.w3.org/ns/prov#> . 
<http://0.0.0.0:3000/granule/MOD09.A2016278.0110.006.2016279074214.hdf> 
    datacite:identifier "MOD09.A2016278.0110.006.2016279074214.hdf"; 
    prov:wasGeneratedBy <http://0.0.0.0:3000/run/MODAPS_456056327>; 
    a prov:entity . 

SQL> 

Почему команда DB.DBA.TTLP говоря, что это не может стат это?

ответ

3

Попытки использовать полный путь дал много сообщения с лучше об ошибке:

SQL> DB.DBA.TTLP(file_to_string_output('/home/ubuntu/Origin/scratch/ttl/granule.ttl'),'','http://origin.nasa.gov/'); 

*** Error 42000: [Virtuoso Driver][Virtuoso Server]FA003: Access to 
'/home/ubuntu/Origin/scratch/ttl/granule.ttl' is denied due to access control in ini file 

Таким образом, решение было добавить путь в /etc/virtuoso-opensource-6.1/virtuoso.ini, например:

... 
DirsAllowed = ., /usr/share/virtuoso-opensource-6.1/vad, /home/ubuntu/Origin 
... 

и рестарт виртуозе чтобы изменения вступили в силу.

+0

Я замечаю, что вы, очевидно, управляете очень старым Virtuoso 6.1. [Virtuoso 7.2.4] (https://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSNews) рекомендуется для всех пользователей. [Этот ответ] (http://serverfault.com/a/678864/245036) может помочь вам добраться туда. – TallTed