FREETDS.CONF(FreeTDS 5) FreeTDS 5 (freetds reference manual) FREETDS.CONF(FreeTDS 5)

freetds.conf — پرونده پیکربندی برای FreeTDS

پرونده freetds.conf سرورهای پایگاه داده Sybase و Microsoft را برای کتابخانه FreeTDS توصیف می‌کند. این پرونده شامل بخش‌هایی است که با یک servername (نام سرور) در سربرگ آغاز می‌شوند و با فهرستی از ویژگی‌های اتصال به صورت جفت‌های نام-مقدار دنبال می‌گردند. پیش‌فرض‌ها از طریق بخش [global] تعریف می‌شوند. این پرونده جایگزین پرونده interfaces می‌شود که Sybase برای همین هدف تعریف کرده است، هرچند پرونده اخیر هنوز پشتیبانی می‌شود.

یک بخش با یک servername — نام سرور — درون براکت آغاز می‌شود. نام سرور به صلاحدید کلاینت انتخاب می‌شود. (یک استثنا: در Sybase ASA، نام سرور باید با نام پایگاه داده مورد استفاده مطابقت داشته باشد.)

بخش‌ها شامل ویژگی‌ها هستند، هر کدام در یک سطر، به شکل:

name = value

که در آن name ویژگی اتصالی است که باید توصیف شود. نام سرورها و ویژگی‌ها به حروف بزرگ و کوچک حساس نیستند. مقادیر با حفظ حالت حروف نگهداری می‌شوند؛ یعنی دقیقاً کپی می‌شوند. توضیحات با نقطه-ویرگول (‘;’) یا علامت هش/پوند (‘#’) شروع می‌شوند و تا انتهای سطر ادامه می‌یابند. سطرهای خالی نادیده گرفته می‌شوند. فاصله‌های خالی در دو طرف ‘=’ نادیده گرفته می‌شوند.

client charset
کدگذاری داده‌های کلاینت؛ تنظیمات locale(1) را بازنویسی می‌کند
دامنه:
نام‌های مجموعه نویسه iconv
پیش‌فرض:
ISO-8859-1
connect timeout
تعداد ثانیه‌های انتظار برای دریافت پاسخ از درخواست اتصال
دامنه:
0 تا MAX_INT
پیش‌فرض:
هیچ (none)
debug flags
میزان جزئیات گزارش وقایع (logging)
دامنه:
عدد صحیح ۳۲-بیتی
پیش‌فرض:
0x4fff
dump file
مکان پرونده گزارش (logfile) را تعیین کرده و ثبت گزارش را فعال می‌کند
دامنه:
نام پرونده معتبر
پیش‌فرض:
هیچ (none)
dump file append
داده‌های وقایع به جای بازنویسی در هر اتصال، به انتهای پرونده پیوست می‌شوند
دامنه:
yes/no
پیش‌فرض:
no
emulate little endian
دستگاه‌های Big-Endian را مجبور می‌کند تا مانند Little-Endian برای ارتباط با سرورهای Microsoft رفتار کنند
دامنه:
yes/no
پیش‌فرض:
no
encryption
رمزنگاری را غیرفعال می‌کند
در صورت دردسترس بودن استفاده شود (پیش‌فرض هنگام بالاتر بودن نسخه tds از 7.0)
فقط به اتصالات رمزنگاری‌شده اجازه اتصال می‌دهد
host
نام میزبانی که سرور روی آن در حال اجرا است.
دامنه:
نام میزبان یا نشانی IP
پیش‌فرض:
SYBASE
initial block size
حداکثر اندازه یک بلوک پروتکل
دامنه:
مضربی از ۵۱۲
پیش‌فرض:
512
instance
نام نمونه (instance) سرور Microsoft SQL Server برای اتصال به آن (جایگزین می‌شود)
دامنه:
نام نمونه (instance name)
پیش‌فرض:
هیچ (none)
port
شماره درگاهی (port) که سرور روی آن به درخواست‌ها گوش می‌دهد
دامنه:
هر درگاه معتبر
پیش‌فرض:
برای TDS 5.0 مقدار 5000؛ برای TDS 7.0 و بالاتر مقدار 1433
tds version
نسخه پروتکل TDS برای استفاده
دامنه:
4.2, 5.0, 7.0, 7.1, 7.2
پیش‌فرض:
مقدار --with-tdsver (در صورت نامشخص بودن، 5.0)
text size
مقدار پیش‌فرض TEXTSIZE، بر حسب بایت
دامنه:
0 تا 4,294,967,295
پیش‌فرض:
4,294,967,295
timeout
تعداد ثانیه‌های انتظار برای پاسخ به یک پرس‌وجو (query)
دامنه:
0 تا MAX_INT
پیش‌فرض:
هیچ (none، انتظار نامحدود)

هرگز هر دو مورد port و instance را همزمان تعریف نکنید. یکی مستلزم دیگری است.

مقادیر ویژگی‌های بولی می‌توانند به صورت on/off، true/false یا 1/0 مشخص شوند.

میزان جزئیات گزارش را می‌توان با ویژگی کنترل کرد.

مقدار مفهوم
  0x02 خطای وخیم (severe error)
  0x04 خطا (error)
  0x08 هشدار (warning)
  0x10 شبکه (network)
  0x20 اطلاعات سطح ۱ (information level 1)
  0x40 اطلاعات سطح ۲ (information level 2)
  0x80 ردیابی تابع و اطلاعات (function trace and info)
نمایش شناسه فرآیند (show pid)
نمایش زمان (show time)
نمایش اطلاعات سطح سورس (پرونده منبع و شماره خط)
شناسه ریسه (پیاده‌سازی نشده است).

این پرونده معمولاً به نام /etc/freetds.conf یا ${HOME}/.freetds.conf شناخته می‌شود. این نام را می‌توان با استفاده از متغیر محیطی FREETDSCONF بازنویسی کرد.

مجموعه FreeTDS پرونده‌های پیکربندی را برای یافتن نام سرور (servername) به ترتیب زیر جستجو خواهد کرد:

  1. نام پرونده‌ای که از طریق ()dbsetifile به صورت برنامه‌نویسی‌شده مشخص شده و در قالب conf. باشد
  2. نام پرونده‌ای در متغیر محیطی FREETDSCONF که در قالب conf. باشد
  3. ${HOME}/.freetds.conf در صورت وجود
  4. /etc/freetds/freetds.conf

جستجو با اولین پرونده‌ای که شامل نام سرور باشد متوقف می‌شود.

اگر هیچ پرونده پیکربندی با پسوند conf پیدا نشود، FreeTDS به دنبال یک پرونده interfaces به ترتیب زیر می‌گردد:

  1. نام پرونده‌ای که از طریق ()dbsetifile به صورت برنامه‌نویسی‌شده مشخص شده و در قالب interfaces باشد
  2. ${HOME}/.interfaces
  3. $SYBASE/interfaces (که در آن $SYBASE یک متغیر محیطی است)

اگر نام سرور درخواستی در هیچ پرونده پیکربندی یافت نشود، سازوکار بازگشتی (fallback) به این ترتیب است:

  1. تلاش برای تبدیل نام به یک نشانی IP با inet_addr(3) ، در غیر این صورت
  2. تلاش برای تبدیل نام به یک نشانی IP با gethostbyname(3) ، در غیر این صورت
  3. تلاش برای جستجوی نام لفظی “SYBASE”

نام و مکان پرونده پیکربندی سراسری سیستم را بازنویسی می‌کند
نام و مکان پرونده گزارش FreeTDS را بازنویسی می‌کند
نام و مکان پرونده‌ای را مشخص می‌کند که جستجوی پرونده‌های پیکربندی را ثبت می‌کند
ویژگی host را بازنویسی می‌کند
ویژگی port را بازنویسی می‌کند
مترادفی برای DSQUERY، نام سرور پیش‌فرض
نسخه مشخص‌شده در freetds.conf را بازنویسی می‌کند

متغیرهای محیطی TDSVER, TDSDUMP, TDSPORT, TDSQUERY و TDSHOST مقادیر تنظیم‌شده توسط یک پرونده conf. یا interfaces را بازنویسی می‌کنند.

/etc/freetds/freetds.conf, ${HOME}/.freetds.conf

FreeTDS User Guide

پرونده‌های conf. نخستین بار در نسخه 0.53 از FreeTDS پدیدار شدند.

May 2, 2017 FreeTDS 1.5.19