556: Cannot create, drop, or modify an object that is external to current database. ???

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by Denis.Zhur » Wed, 15 Aug 2007 17:20:40


database b;
CREATE PROCEDURE BB()
select * from table(set{1}) into temp t12345 with no log;
END PROCEDURE;

database a;
CREATE PROCEDURE AA()
EXECUTE PROCedure b:bb();
END PROCEDURE;

database a;
EXECUTE PROCEDURE AA();

556: Cannot create, drop, or modify an object that is external to
current database.
111: ISAM error: no record found.

IBM Informix Dynamic Server Version 10.00.UC3
 
 
 

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by Denis.Zhur » Wed, 15 Aug 2007 18:49:55

database b;
CREATE PROCEDURE BB()
select * from table(set{1}) into temp t12345 with no log;
END PROCEDURE;

database a;
EXECUTE PROCedure b:bb();
556: Cannot create, drop, or modify an object that is external to
current database.
111: ISAM error: no record found.

IBM Informix Dynamic Server Version 10.00.UC3

 
 
 

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by Christine » Wed, 15 Aug 2007 22:36:38

> database a;
 
 
 

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by Denis.Zhur » Thu, 16 Aug 2007 15:55:31

> > database a;

I don't need workaround. I want to know why my example not work.
 
 
 

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by Claus Samu » Thu, 16 Aug 2007 17:42:06


You cannot create a table in a remote database.

Have you tried finderr ?

$ finderr -556
-556 Cannot create, drop, or modify an object that is external to
current database.

This statement attempts to create, drop, or alter an object in an
external database, one other than the current database. You can only
read the contents of an external database.
 
 
 

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by Denis.Zhur » Thu, 16 Aug 2007 20:14:08

> > I don't need workaround. I want to know why my example not work.
But I don't create table in external database. I create temp table in
current database.

And why CREATE not work (-556), but DROP work fine?

database b;
CREATE PROCEDURE BB1()
drop table t123;
END PROCEDURE;

database a;
select * from table(set{1}) into temp t123 with no log;
EXECUTE PROCEDURE b:bb1();
===>Routine executed.<===
 
 
 

556: Cannot create, drop, or modify an object that is external to current database. ???

Post by davi » Sat, 18 Aug 2007 03:26:41


Some people may call that a bug, I say

Where in the manuals it is defined what happens when you change
databases whilst you have existing temp tables?

I say "Unless it is stated in the manuals what happens then the
behaviour is undefined and you get what ever behaviour you get".