Thanks for the reply,
Sadly, we can not use stored procedures as we are trying to use this kind of
logic to create the stored procedures, tables, users, triggers, and then some
in the 1st place. Basically, the idea is to let the database's native SQL do
the work of dynamically creating our schema as need be to get our product
started with it. But the key for this approach to work is to be able to get
feedback returned from the query that builds the schema after it analyzes the
database. Put another way, we can not arbitrarily create anything in any
database, even for expediting the creation of our schema, without checking
out the database 1st.
Sadly, we are kind of giving up on this for Oracle. It appears Oracle can
not work with this approach. It appears that one would have to create
something 1st and/or manually code in TONS of manualy queries to get the
euiqvalent of what every other database product, including DB2, SQL Server,
and now MySQL, that Oracle can not do.
By the way. The "litness" test for this is this simple ADO setup:
var cnTemp = Server.CreateObject("ADODB.Connection");
cnTemp.Open("~~~~String for DSN~~~~");
rsTemp = cnTemp.Execute("~~~~ LONG Schema Buillding Query ~~~~");
while (rsTemp.EOF != true)
{
~~~~~ Get data ~~~~~~
rsTemp.MoveNext();
}
From this approach, we were hoping that someone with ADO had found a way to
get Oracle to work with it, but nothing seems to let ADO get result sets back
from Oracle. Including if we try "SET SERVEROUTPUT ON", which always fails if
executed from ADODB.Connection. And without SET SERVEROUTPUT ON, the PUT_LINE
commands will no work. But even if the PUT_LINE did work, the Oracle DECLARE
statement do not seem to have a way to return rows as desired, with columns
defined as we need. Example:
set serveroutput on; <=== This fails to ADODB.Connection.Execute every time.
declare
iTemp INTEGER;
begin
DBMS_OUTPUT.PUT_LINE('RET=OK');
-- Without serveroutput on, this does nothing.
-- Also, there is no way to specify the columns name.
-- Also, there appears ot be no way to run a select statement by itself to
-- return data, without creating something like a stored procedure 1st.
end;
|