DEFNCOPY(FreeTDS) FreeTDS (freetds reference manual) DEFNCOPY(FreeTDS)

defncopy — استخراج روال‌ها و نماها از یک سرور مایکروسافت

defncopy [-v] [-U username] [-P password] [-S server] [-D database] [-i input_file] [-o output_file] [owner.object_name [owner.object_name ...]]

defncopy برنامه‌ای کاربردی است که همراه با FreeTDS توزیع می‌شود. این ابزار جایگزین برنامه‌ای مشابه با همین نام می‌شود که توسط Sybase توزیع شده بود.

defncopy متن یک روال ذخیره‌شده (stored procedure) یا نما (view) را خوانده و اسکریپتی مناسب برای بازآفرینی آن روال یا نما می‌نویسد. برای جدول‌ها، این ابزار خروجی sp_help را می‌خواند و دستور ‘CREATE TABLE’ را به‌همراه ‘CREATE INDEX’,ایجاد می‌کند. اگر شما یا مالک پایگاه‌داده (database owner) مالک روال یا نمای در حال رونوشت‌برداری باشید، owner اختیاری است. object_name نام شیء سیستمی است که قصد استخراج آن را دارید.

username
نام کاربری برای ورود به سرور پایگاه‌داده.
password
گذرواژه سرور پایگاه‌داده.
server
سرور پایگاه‌داده‌ای که باید به آن متصل شد.
database
پایگاه‌داده مورد استفاده. اگر روال یا نمای در حال استخراج در پایگاه‌داده پیش‌فرض شما باشد، اختیاری است.
input_file
اسکریپتی برای اعمال روی پایگاه‌داده. در حال حاضر پیاده‌سازی نشده است.
output_file
فایلی برای نگهداری اسکریپت؛ به‌طور پیش‌فرض خروجی استاندارد است.
نمایش اطلاعات نسخه و اعلان حق نشر (کپی‌رایت).

defncopy یک فیلتر است؛ از ورودی استاندارد می‌خواند، در خروجی استاندارد می‌نویسد و خطاها را در خطای استاندارد ثبت می‌کند. گزینه‌های -i, -o, و -e این مقادیر پیش‌فرض را لغو می‌کنند.

defncopy از رابط برنامه‌نویسی (API) موسوم به db-lib که توسط FreeTDS ارائه شده استفاده می‌کند. این API البته برای توسعه‌دهندگان برنامه‌های کاربردی نیز در دسترس است.

defncopy در صورت موفقیت با وضعیت 0 خارج می‌شود، و اگر سرور نتواند پرس‌وجو را پردازش کند با مقدار >0 به کار خود پایان می‌دهد.

defncopy هرگونه خطای بازگردانده شده توسط سرور را گزارش می‌دهد، اما به پردازش ادامه خواهد داد.

defncopy نخستین بار در FreeTDS 0.63 ارائه شد.

ابزار defncopy توسط James K. Lowden ⟨jklowden@schemamania.org⟩ نوشته شده است.

تنها با سرورهای مایکروسافت و سرورهای بسیار قدیمی Sybase کار می‌کند. کلیدهای اصلی (primary keys) را ایجاد نمی‌کند. گزینه‌های متعددی توسط Sybase تعریف شده‌اند که این نسخه آن‌ها را پیاده‌سازی نکرده است. در صورت تمایل می‌توانید در بهبود و اصلاح این موارد مشارکت کنید. از نظر تئوری، defncopy می‌تواند برای هر شیء سیستمی زبان تعریف داده (DDL) را اعمال یا تولید کند، اما در حال حاضر تنها از جدول‌ها، روال‌ها و نماها پشتیبانی می‌شود، و آن هم صرفاً برای استخراج.

April 26, 2012 FreeTDS 1.5.19