Hello,
@Charlotte
Could the TO parameter be missing ? Let´s analyze the error message and
the syntax from the command.
"A missing FROM or TO clause uses the current SQL*Plus connection"
I think TO is mandatory, even if using a create table.
"usage: COPY FROM <db> TO <db> <opt> <table> { (<cols>) } USING <sel>"
again, it could be: COPY FROM @DB1 *TO* @db2 using create
test_table select * from dual;
In all your examples, the TO parameter is not there.
" SQL> copy from
/@(DESCRIPTION=(LOAD_BALANCE=OFF)(FAILOVER=ON)(CONNECT_TIMEOUT=10)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=source_host1))(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=source_host2)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=source_host3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=SOURCEDB)))
create test_table using select * from dual; "
Maybe you can try it, obeying the syntax from "usage: COPY FROM <db>
TO <db> <opt> <table> { (<cols>) } USING <sel>"
SQL> copy from
/@(DESCRIPTION=(LOAD_BALANCE=OFF)(FAILOVER=ON)(CONNECT_TIMEOUT=10)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=source_host1))(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=source_host2)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=source_host3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=SOURCEDB)))
*TO* @DESTDB (or @description whatever) *USING *create test_table
using select * from dual;
So, you can try it.
regards,
angelo
On Thu, 23 Sept 2021 at 06:00, Charlotte Hammond <
dmarc-noreply@xxxxxxxxxxxxx> wrote:
Thanks Jeff.
I've tried both without success. Here's the commands and output I've
tried (same result both with and without the -oci flag):
SQL> connect /@SOURCEDB <-- Checking passwordless connection with wallet to
source
Connected.
SQL> connect /@DESTDB <-- Passwordless connection with wallet to dest
Connected.
SQL> copy from /@SOURCEDB create test_table using select * from dual;
usage: COPY FROM <db> TO <db> <opt> <table> { (<cols>) } USING <sel>
<db> : database string, e.g., hr/your_password@d:chicago-mktg
<opt> : ONE of the keywords: APPEND, CREATE, INSERT, REPLACE,
APPEND_BYTE, CREATE_BYTE or REPLACE_BYTE
<table>: name of the destination table
<cols> : a comma-separated list of destination column aliases
<sel> : any valid SQL SELECT statement
A missing FROM or TO clause uses the current SQL*Plus connection.
or
SQ> connect
/@(DESCRIPTION=(LOAD_BALANCE=OFF)(FAILOVER=ON)(CONNECT_TIMEOUT=10)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=source_host1)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=(HOST=source_host2)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=(HOST=source_host3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=SOURCEDB)))
Connected.
SQL> connect
/@(DESCRIPTION=(LOAD_BALANCE=OFF)(FAILOVER=ON)(CONNECT_TIMEOUT=10)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=dest_host1)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=dest_host2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DESTDB)))
Connected.
SQL> copy from
/@(DESCRIPTION=(LOAD_BALANCE=OFF)(FAILOVER=ON)(CONNECT_TIMEOUT=10)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=source_host1))(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=source_host2)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=source_host3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=SOURCEDB)))
create test_table using select * from dual;
usage: COPY FROM <db> TO <db> <opt> <table> { (<cols>) } USING <sel>
<db> : database string, e.g., hr/your_password@d:chicago-mktg
<opt> : ONE of the keywords: APPEND, CREATE, INSERT, REPLACE,
APPEND_BYTE, CREATE_BYTE or REPLACE_BYTE
<table>: name of the destination table
<cols> : a comma-separated list of destination column aliases
<sel> : any valid SQL SELECT statement
A missing FROM or TO clause uses the current SQL*Plus connection.
Thank You!
Charlotte
On Wednesday, September 22, 2021, 11:30:25 PM GMT+1, Jeff Smith <
jeff.d.smith@xxxxxxxxxx> wrote:
I’m honestly not sure..in your copy command are you using a fully
qualified jdbc URL that contains all the necessary wallet info, or are you
relying on an OCI (thick) connection for an $ORACLE_HOME that already has
TLS configured?
Jeff
*From:* oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> *On
Behalf Of *Charlotte Hammond
*Sent:* Wednesday, September 22, 2021 6:12 PM
*To:* oracle-l@xxxxxxxxxxxxx
*Subject:* [External] : sqlcl Copy
Hello Everyone,
Just a quick question - is the Oracle wallet supported by the COPY command
in SQLcl? I can't get it to work but I'm not sure if it's not supported
or if I'm just doing something wrong.
Thank You!
Charlotte