در محیط SQLcl می توان با کمک دستور bridge بین دو دیتابیس ارتباط برقرار کرد.
ابتدا فرمت کلی دستور bridge را مرور می کنیم:
BRIDGE <targetTableName> as “<jdbcURL>”(<sqlQuery>);
به عنوان مثال، با دستور زیر، جدولی را از دیتابیس db19c، در دیتابیس جاری ایجاد می کنیم:
SQL> tables
no rows selected
SQL> bridge tbl2 as “jdbc:oracle:thin:usef/a@192.168.1.20:1521/orcl”(select * from TBL1);
Created table tbl2 and inserted 9 row(s)
SQL> tables
TABLES
———–
TBL2
علاوه بر دستور bridge دستور copy هم به عنوان یک دستور قدیمی برای برقراری ارتباط بین چند دیتابیس قابل استفاده است. البته این دستور علاوه بر محیط SQLcl، در محیط sqlplus قابل اجرا است:
SQL> copy from usef/a@192.168.1.20:1521/db1 to usef/a@192.168.1.22:1521/db2 create tbl7 using select * from tbl1;
Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)
Table TBL7 created.
9 rows selected from usef@192.168.1.22:1521/db2.
9 rows inserted into TBL7.
9 rows committed into TBL7 at usef@192.168.1.20:1521/db1.
ممنون از زحماتتون
سلام مهندس بسیار عالی، با اجازتون من این توضیح رو تکمیل میکنم که اگر می خواهید در روش دوم کاراکتر های فارسی علامت سوال درج نشه، قبل از ورود به sqlplus متغیر nls_lang رو با مقدار مناسب ست کنید، که در سرور من به این مقدار تنظیم کردم
export NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
سلام بسیار عالی تشکر.