লিনাক্সে odbc.ini এবং odbcinst.ini ফাইলের ভাল ডকুমেন্টেশন খুঁজছেন


11

আমি আংশিক তথ্য, পুরানো তথ্য দেখেছি, তবে স্থানীয়ভাবে সংক্ষিপ্ত মন্তব্যে প্রকৃত নমুনা ফাইলগুলির মতো ভাল কিছুই নেই।

আমার মধ্যে odbc.iniএবং এর মধ্যে সঠিক সম্পর্কটি বুঝতে হবে odbcinst.ini। অতিমাত্রায় এটি বেশ সুস্পষ্ট - odbc.iniফাইলের শীর্ষে এখানে একটি বিভাগ রয়েছে:

[ODBC Data Sources]
MYDSN = MyDriverName
...

তবে আমি নিশ্চিত নই যে আমি উদাহরণস্বরূপ ড্রাইভার বা ডিএসএন বিভাগে সেটিংস রাখতে পারি কিনা।

1) আমার Driver = /path/to/file/.soউভয় ফাইলে একটি লাইন রয়েছে এবং মানগুলি মাঝে মাঝে পৃথক হয়। এটি কি কোনও অর্থবোধ করে? যদি তাই হয়, কোনটি বিরাজ করে?

2) odbcinst.iniএকটি জাভাস্ক্রিপ্ট-জাতীয় "প্রোটোটাইপ" মত odbc.ini? অন্য কথায়, যদি আমি সাধারণ সেটিংসে DSNs একটি নম্বর সৃষ্টি করতে যাচ্ছি, আমি সাধারণ সেটিংস থেকে প্রচার করতে odbc.iniমধ্যে odbcinst.ini?

3) মধ্যে Driverএবং Setupমধ্যে পার্থক্য কি odbcinst.ini? তাদের একই মান রয়েছে বলে মনে হয়। এই সেটিংগুলি ডাটাবেস-নির্দিষ্ট বা সেগুলি সর্বজনীন?



আমি মনে করি উপরের লিঙ্কটি উত্তর দিতে সহায়তা করবে। এটি সম্পর্কে চিন্তা করুন, আপনি ওআরএসিএলএল ডেটাসোর্সের জন্য যদি একটি odbc.ini ফাইল কনফিগার করেন তবে সিস্টেম কীভাবে জানবে যে ওআরএসিএল কি, এটি ওডবিনস্টিন.ইনাই সংজ্ঞায়িত করে। এটি "সিস্টেম প্রশস্ত" এর পরিবর্তে পাথ / সফ্টওয়্যারগুলির একটি নির্দিষ্ট সেটে কেবল স্থানীয় হতে পারে।
শ্রুতে

উত্তর:


9

আমি ব্যবহার FreeTDSউপর Debianএকটি সংযোগ স্থাপন করতে phpএকটি থেকে -driven ওয়েবসাইট MS-SQL Server 2005ডাটাবেজ।

কনফিগার ফাইলগুলিতে আমি যে ব্যাখ্যাটি দিতে পারি:

/etc/odbc.ini

হ্যান্ডলারের মধ্যে উল্লিখিত উদাহরণটি ধরে রাখে (উদাঃ php) যা ডাটাবেসের সাথে সংযুক্ত হয় (নীচের উদাহরণ দেখুন)। কনফিগারেশনটি সংযুক্ত হওয়ার জন্য প্রয়োজনীয় সার্ভারটি সংজ্ঞায়িত করে।

[freetds_odbc_connection]
Driver          =       FreeTDS
Description     =       test
Database        =       MyCompanyDb
Server          =       frodo
Readonly        =       Yes
Port            =       1433
Trace           =       No

-

/etc/odbcinst.ini

Driverবিভাগটির জন্য কনফিগারেশন ধরে রাখে odbc.ini

[FreeTDS]
Description     = TDS connection
Driver          = /usr/lib/odbc/libtdsodbc.so
Setup           = /usr/lib/odbc/libtdsS.so
UsageCount      = 1
FileUsage       = 1
Trace           = Yes
TraceFile       = /tmp/odbcinst_tr

-

show-companies.php

phpআমি সংযোগটি কীভাবে সেট আপ এবং ব্যবহার করব তা প্রদর্শনের জন্য উদাহরণ কোড।

  $host="freetds_odbc_connection";
  $user="freetds";
  $password="secretpassword";
  $conn_id = odbc_connect($host, $user ,$password) or die (odbc_errormsg());

  $sql_companies =  "SELECT * from AMGR_Client_Tbl WHERE Record_Type='1'";

  $query_companies = odbc_exec($conn_id, $sql_companies);
  while (odbc_fetch_row($query_companies))
  {
    $client_id     = odbc_result($query_companies, 6);
    $company_name  = odbc_result($query_companies, 9);
  }

ইত্যাদি .. ইত্যাদি ..

আমি নিশ্চিত যে আরও অনেকগুলি ভেরিয়েবল রয়েছে যা সেট এবং ব্যবহার করা যেতে পারে তবে আপনি যে ফাইলগুলির বিষয়ে জিজ্ঞাসা করেছিলেন সেগুলির এটিই আমি সহজ ব্যাখ্যা করতে পারি।


4

আপনি যদি কেবল ইউনিক্স বাস্তবায়নগুলি দেখেন তবে ওডিবিসি কীভাবে কাজ করে সে সম্পর্কে আপনি কিছু আকর্ষণীয় ধারণা পাবেন। ওডিবিসি স্পেক, অর্থাৎ মাইক্রোসফ্ট রক্ষণাবেক্ষণকারী দ্বারা উত্পাদিত উইন্ডোজে রেফারেন্স প্রয়োগের সাথে এই বাস্তবায়নগুলির কোনওটিই 100% তুলনীয় ।

দুটি ইউডিবিসি ড্রাইভার ম্যানেজার সাধারণত ইউনিক্সে পাওয়া যায়। আইওডিসিবি , যার ডকুমেন্টেশন এই প্রশ্নের সাথে সম্পর্কিত , এটি আমার নিয়োগকর্তা রক্ষণাবেক্ষণ এবং সমর্থন করছেন। ইউনিক্সডোবিসি হ'ল অন্য, এবং অন্যান্য উত্তরে আলোচনা হয়েছিল। এগুলি একে অপরের সমতুল্য এবং উইন্ডোজ প্রয়োগের সমতুল্য হিসাবে বোঝানো হয়েছে, কারণ উভয়ই স্ট্যান্ডার্ডের প্ল্যাটফর্ম-অজোনস্টিক বাস্তবায়ন।

সাধারণ কথায়, odbcinst.iniকোনও পরিবেশে ওডিবিসি ড্রাইভারের জন্য একটি রেজিস্ট্রি এবং কনফিগারেশন ফাইল, অন্যদিকে odbc.iniনিবন্ধিত ড্রাইভারদের উপর ভিত্তি করে সাধারণত ওডিবিএস ডিএসএন (ডাটা উত্স নাম) এর জন্য একটি রেজিস্ট্রি এবং কনফিগারেশন ফাইল।

আপনার কয়েকটি নির্দিষ্ট প্রশ্ন ছিল ...

1) আমার Driver = /path/to/file/.soউভয় ফাইলে একটি লাইন রয়েছে এবং মানগুলি মাঝে মাঝে পৃথক হয়। এটি কি কোনও অর্থবোধ করে? যদি তাই হয়, কোনটি বিরাজ করে?

Driver = /path/to/file.soসাধারণত উভয় ফাইলের মধ্যে একই হতে হবে যখন উভয় পাথ হিসাবে প্রকাশ করা হয়। ইন odbc.ini, এই এন্ট্রিটির পরিবর্তে Driver = {name of driver}নামটি সূচী হিসাবে যেখানে থাকতে পারে odbcinst.ini। সাধারণত বললে, সেটিংস যদি বিদ্যমান থাকে তবে odbc.iniএগুলিতে বিবাদমান সেটিংসের উপর odbcinst.iniনির্ভরশীল।

2) odbcinst.iniএকটি জাভাস্ক্রিপ্ট-জাতীয় "প্রোটোটাইপ" মত odbc.ini? অন্য কথায়, যদি আমি সাধারণ সেটিংসে DSNs একটি নম্বর সৃষ্টি করতে যাচ্ছি, আমি সাধারণ সেটিংস থেকে প্রচার করতে odbc.iniমধ্যে odbcinst.ini?

না, odbcinst.iniএইভাবে কোনও "প্রোটোটাইপ" নয়। odbcinst.iniসেটিংস ড্রাইভারের সাথে প্রাসঙ্গিক , তবে সেই ড্রাইভারের উপর নির্ভরশীল ডিএসএনগুলির সাথে নয় ।

3) মধ্যে Driverএবং Setupমধ্যে পার্থক্য কি odbcinst.ini? তাদের একই মান রয়েছে বলে মনে হয়। এই সেটিংগুলি ডাটাবেস-নির্দিষ্ট বা সেগুলি সর্বজনীন?

ইন odbcinst.ini, Driver =ড্রাইভার গ্রন্থাগার এবং Setup =সেটআপ লাইব্রেরি বোঝায় । পরবর্তীটি সম্পূর্ণরূপে alচ্ছিক, এবং যখন এটি বিদ্যমান থাকে, তখন এটি কোনও ডেটা সংযোগের সময় ব্যবহার করা প্রয়োজন হতে পারে না; এটি মূলত কোনও ওডিবিসি প্রশাসক দ্বারা ডিএসএন হিসাবে সংরক্ষণ করার জন্য এই জাতীয় সংযোগগুলি "সেট আপ" করার সময় ব্যবহারের উদ্দেশ্যে করা হয়। কখনও কখনও, এই লাইব্রেরিগুলি একই শারীরিক ফাইলে পাওয়া যায় তবে এগুলির দরকার হয় না এবং উদাহরণস্বরূপ, সাধারণত ওএস এক্স পরিবেশে থাকে না।


1

ইউনিক্সডবিসি সাইট থেকে odbcinst.ini এবং odbc.ini এর মধ্যে ঠিক আছে সাধারণ পার্থক্য যা গুগলে প্রথম হিট:

সিস্টেম ফাইল odbcinst.ini সমস্ত ব্যবহারকারীদের জন্য উপলব্ধ ওডিবিসি ড্রাইভারগুলির তথ্য ধারণ করে এবং odbc.ini ফাইলে ডিএসএন-এর সমস্ত ব্যবহারকারীর জন্য উপলব্ধ তথ্য রয়েছে। এই "সিস্টেম ডিএসএন এর" ওয়েব সার্ভারের মতো অ্যাপ্লিকেশনের জন্য দরকারী যা প্রকৃত ব্যবহারকারী হিসাবে চলতে পারে না এবং তাই .odbc.ini ফাইল ধারণ করার জন্য কোনও হোম ডিরেক্টরি থাকতে পারে না।


ধন্যবাদ। আমি উল্লেখ করতে ভুলে গেছি যে সিনট্যাক্স থেকে আমি এটি অনেকটা অনুমান করেছি - প্রকৃতপক্ষে প্রতিটি ডিএসএনকে অবশ্যই b ডিএসএন} = {ড্রাইভার} সিনট্যাক্সের সাথে odbc.ini এর একেবারে শীর্ষে একটি ড্রাইভার নির্দিষ্ট করতে হবে তবে আমি এখনও অনেক বিভ্রান্ত।
লিওনিড

0

ম্যানুয়ালগুলি মনে হয় এখানে উপস্থিত রয়েছে ( Manualsতারপরে ক্লিক করুন User Manual)। তবে দুর্ভাগ্যক্রমে এর জন্য Administrator Manualএবং এর লিঙ্কগুলি নষ্ট Programmer Manualহয়ে গেছে। (আমি এটি রিপোর্ট করেছি এবং তাদের জানানো হয়েছিল যে তারা ঠিক করে দেওয়া হবে।)

তাই আপাতত ...

অনুপস্থিত ম্যানুয়ালগুলি http://www.unixodbc.org/ থেকে unixODBC-2.3.4.tar.gz ডাউনলোড করে খুঁজে সংরক্ষণাগার পরিচালক (বা এর মতো) দিয়ে খুলুন এবং এই তিনটি ম্যানুয়াল দেখুন:

/doc/AdministratorManual/index.html
/doc/ProgrammerManual/index.html
/doc/ProgrammerManual/Tutorial/index.html
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.