Hi I am trying to do server side load using LOAB TABLE on Sybse IQ. I am able to hit the database and do operation like SELECT ’HELLO WORLD’ etc. but when I do server side load I get the following exception. com.sybase.jdbc3.jdbc.SybSQLException: SQL Anywhere Error -1006148: Operation failed on file due to file permissions. File: /opt/xyz/testdata/product.data -- (hos_ion.cxx 426) at com.sybase.jdbc3.tds.Tds.a(Unknown Source) at com.sybase.jdbc3.tds.Tds.nextResult(Unknown Source) at com.sybase.jdbc3.jdbc.ResultGetter.nextResult(Unknown Source) at com.sybase.jdbc3.jdbc.SybStatement.nextResult(Unknown Source) at com.sybase.jdbc3.jdbc.SybStatement.nextResult(Unknown Source) at com.sybase.jdbc3.jdbc.SybStatement.updateLoop(Unknown Source) at com.sybase.jdbc3.jdbc.SybStatement.executeUpdate(Unknown Source) at com.sybase.jdbc3.jdbc.SybStatement.executeUpdate(Unknown Source) File product.data is there in mounted path /opt/xyz/. Is it because mount /opt/xyz/ is not proper? Filer where file is mounted is multi-protocol filer. Please guide. I am new to JDBC/Sybase IQ. Thanks in advance. |
This error seems to give you the reason - 'you' (and by this I mean "the server" that you are connected to) do not have permission to access/read the file that you are trying to load. I.e. Remember that the server can be running as a different user and many times this user is given a restricted set of permissions for security reasons. I do not know your specific situation so you need to verify that the user that owns the IQ server has the appropriate permissions to read the file. |
Just guessing (being a linux rookie): the server process runs in a user context which doesn't have access to the path you specified.