PDA

View Full Version : سوال: ارسال ركوردها به صورت مستقيم به اكسل بدون استفاده از report builder



m_sadeghnejad
یک شنبه 05 خرداد 1392, 12:00 عصر
با سلام. مشكل از اينجا شروع شد كه نتايج گزارش كه با report builder ساختم اينقد زياد بود كه با file-generate to file- delimited نميره تو اكسل.يعني يه فايل تكست خالي ميسازه و سيستم هنگ ميكنه. حالا ميخوام بدون وساطت report builder مستقيم نتايج رو ببرم تو اكسل . اين در حاليه كه interface با form builder ساخته ميشه و كاربر فقط فرم رو در اختيار داره. پس با pl sql هم كه خودمون مستقيم ديتا رو ميفرستيم تو اكسل نميتونه كار كنه.پيشاپيش از همكاريتون ممنونم.

_behnam_
دوشنبه 06 خرداد 1392, 15:38 عصر
سلام دوست عزیز ببین به کارت میاد
اینجــــا (http://www.thatjeffsmith.com/archive/2012/04/how-to-import-from-excel-to-oracle-with-sql-developer/)

sajjadzandi
دوشنبه 06 خرداد 1392, 20:17 عصر
با سلام
برای این کار دو راه مد نظر من هست.
اولین راه استفاده از ابزار Toad است که تمام رکورد ها را نمایش داده و به راحتی امکان خروجی آن به CSV را فراهم کرده.

دومین راه کمی فنی تر بنظر میاد اونهم اینکه از یک external table استفاده کنید.
یک جدول با هر نامی به syntax زیر بسازید و قبل از اون هم در دیتابیس یک دارکتوری ایجاد کنید(دستورات ایجاد دایرکتوری در اوراکل و دادن دسترسی ها مطالعه شود):
CREATE TABLE <ext_table_name>
ORGANISED EXTERNALLY
(TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY <directory_name>
LOCATION <filename.csv>
)AS SELECT * FROM <internal_table_name>
منظور از
internal_table_name همان جدول دارای رکوردهای زیاد داخل بانک است.
filename.csv نام فایلی است که در آن دایرکتوری می خواهید ایجاد شود.
موفق باشید.

m_sadeghnejad
پنج شنبه 09 خرداد 1392, 09:38 صبح
دوستان از بابت وقتي كه براي پاسخ گويي به اين تاپيك گذاشتيد, تشكر مي كنم.

m_sadeghnejad
پنج شنبه 09 خرداد 1392, 09:45 صبح
با تشكر, متن بسيار كارامدي رو پيشنهاد داديد, من تا به حال اين كار رو با text importer انجام ميدادم و حالا روش ديگري هم فراگرفتم. اما درخواست من ارسال اطلاعات از اوراكل به محيط اكسل بود.