এসকিউএল সার্ভার সিএলআর-তে তৃতীয় পক্ষের dll


14

এসকিউএল সার্ভার সিএলআরতে একটি ট্রিগার সি # কোডে আমাকে তৃতীয় পক্ষের ডিএলএল ব্যবহার করতে হবে

তবে আমি যখন রেফারেন্স যুক্ত করার চেষ্টা করব তখন এটি এসকিউএল সার্ভার থেকে কিছু ডিএলএল দেখায়।

আমি কীভাবে এসকিউএল সার্ভারে আমার তৃতীয় পক্ষের dll যুক্ত করতে পারি ?


উত্তর:


14

আপনি কেবলমাত্র এসকিওএল সার্ভারের সাথে নিবন্ধিত হয়ে যাওয়া সমাবেশগুলিতে উল্লেখ যুক্ত করতে পারেন। যদি তারা নিবন্ধভুক্ত না হয় তবে এগুলি রেফারেন্স যুক্ত সংলাপে প্রদর্শিত হবে না।

একটি ডিএলএল নিবন্ধন করতে আপনাকে বেশ কয়েকটি পদক্ষেপ নিতে হবে, প্রথমে আপনাকে আপনার ডাটাবেসটি পুনরায় কনফিগার করতে হবে:

ALTER DATABASE [MyDatabase] SET TRUSTWORTHY ON;
sp_configure 'clr enabled', 1;
RECONFIGURE;

এটি হয়ে গেলে, এসকিএল সার্ভারটি সিএলআর সক্ষম হয়। এর পরে, আপনাকে আপনার সমাবেশটি নিবন্ধিত করতে হবে:

CREATE ASSEMBLY [MyAssembly] AUTHORIZATION [MyUser]
FROM 'C:\CLR\MyAssembly.dll'
WITH PERMISSION_SET = SAFE

যদি এই শেষ স্ক্রিপ্টটি সঠিকভাবে চলতে থাকে তবে সমাবেশটি এখন নিবন্ধভুক্ত হয়েছে এবং রেফারেন্স যুক্ত করুন সংলাপে উপস্থিত হবে।

তবে আপনাকে যা বিবেচনা করতে হবে তা হ'ল আপনার এসকিএল সার্ভার সিএলআর কনফিগারেশনের অ্যাপ্লিকেশন সুরক্ষা:

  1. অ্যাসেম্বলি হিসাবে নিবন্ধন করতে পছন্দ করুন SAFE, কেবলমাত্র আপনার ব্যতিক্রমী পরিস্থিতিতে EXTERNAL_ACCESSবা ব্যবহার করা উচিত UNSAFE
  2. পূর্ণ-বিশ্বাস সিএলআরতে (যেমন, এসকিউএল সার্ভার দ্বারা হোস্ট করা সিএলআর নয়) আপনার যা কিছু করা সম্ভব হবে তা আশা করবেন না - এসকিউএলসিএলআর একটি স্যান্ডবক্সযুক্ত রানটাইম।
  3. Assembly.Load()উদ্দেশ্যমূলকভাবে সীমাবদ্ধ হিসাবে অ্যাসেমব্লিগুলি গতিশীলরূপে চেষ্টা এবং লোড করবেন না ।
  4. আপনি যদি তৃতীয় পক্ষের গ্রন্থাগারটি ব্যবহারের পরিকল্পনা করেন তবে সর্বজনীন কী সহ স্বাক্ষরিত হওয়া আপনার প্রয়োজন হতে পারে UNSAFE
  5. কোড এক্সিকিউটিং সার্ভিস চালিত পরিচয়ের প্রসঙ্গে রান চালায় এসকিএল সার্ভার (আমার মনে হয়!)
  6. হোস্ট করা অ্যাসেম্বলি (যেমন মাধ্যমে context connection = true;) তৈরি করা ডেটাবেস অ্যাক্সেস সংযুক্ত ব্যবহারকারীর প্রসঙ্গে চালিত হয়, তাই আপনার গ্রন্থাগারটি আপনার ডেটাতে কী অ্যাক্সেস রয়েছে তা আপনি সচেতন তা নিশ্চিত করতে হবে।

উপরের 4-এ আপনাকে লিখতে হবে সমাবেশে সই করতে হবে। আমি সেই অংশটি পেয়েছি এবং এখানে স্ব-স্বাক্ষরিত নির্দেশাবলীর মাধ্যমে এটি করতে সক্ষম হয়েছি: geewwithblogs.net/ktegels/archive/2006/02/16/… তবে যখন আপনার ব্যক্তিগত কী নেই তখন শংসাপত্রটি কীভাবে ইনস্টল করবেন? সমাবেশটি কোনও বিশ্বস্ত তৃতীয় পক্ষ দ্বারা তৈরি এবং স্বাক্ষরিত হয়েছিল? যতদূর আমি উপরের লিঙ্কে বলতে পারি শংসাপত্র তৈরির জন্য প্রাইভেট কী উপস্থিত থাকতে হবে। এটা কি অসম্ভব বলে মনে হচ্ছে?
জর্জেসান্ডোভাল

2
এছাড়াও - বিশ্বাসযোগ্য হিসাবে ডিবি চিহ্নিত করা ঝুঁকিপূর্ণ (এবং "নিরাপদ" সমাবেশ ইনস্টলেশন জন্য অপ্রয়োজনীয়)। বহিরাগত / অনিরাপদ অনুমতিগুলির জন্য
অ্যাসেমব্লিগুলি সই করার আশেপাশে

5

আমি ধরে নিচ্ছি যে আপনি ভিজ্যুয়াল স্টুডিও থেকে এসকিউএল সিএলআর সমাবেশগুলি ইনস্টল করার বিকল্পগুলি সম্পর্কে জিজ্ঞাসা করছেন।

ভিজ্যুয়াল স্টুডিওতে কোড থাকা প্রয়োজন হয় না।

এমএসডিএন-তে সিএলআর ডেটাবেস অবজেক্ট স্থাপন করা এসকিউএল স্টেটমেন্ট এবং স্থাপনার স্ক্রিপ্ট সহ বিকল্পগুলি বিশদ বিবরণ করে।


1

আমি খুব বড় একটি তৃতীয় পক্ষের ডিএলএল ব্যবহার করি যা একটি ওয়েব পৃষ্ঠা নেয় এবং এটিকে পিডিএফে রূপান্তর করে।

পিডিএফ একটি ফাইল শেয়ারে সংরক্ষণ করা হয় এবং এটির অবস্থান এবং টাইপ অনুসারে ডাটাবেস আপডেট হয়।

এটি একটি 3-পদক্ষেপ প্রক্রিয়া:

  1. পিডিএফ তৈরি করতে তৃতীয় পক্ষের ডিএলএল ব্যবহার করে এবং ইউআরএল এবং ফাইলপ্যাথটিকে প্যারামিটার হিসাবে স্বীকার করে এবং পিডিএফ আকার এবং পৃষ্ঠাগুলির সংখ্যা প্রদান করে এমন একটি কনসোল অ্যাপ তৈরি করুন।

  2. একটি সিএলআর সঞ্চিত প্রক্রিয়া তৈরি করুন যা সার্ভারে কনসোল অ্যাপটিকে কল করে

  3. আমি এগুলি সমস্ত একক সঞ্চিত পদ্ধতিতে আবৃত করি যা পিএলডি তৈরির জন্য সিএলআর অ্যাপ্লিকেশনটিকে কল করে এবং তারপরে আমি এটি সম্পর্কে ডেটাবেসে মেটা-ডেটা লিখি।

আমি বুঝতে পারি যে এটি নিখুঁত নয় এবং কোনও উপায়েই আপনি ট্রিগারটির ভিতরে এত ক্রেজি কিছু করা উচিত নয়!

আমি কেবল এখানে অন্যদের জন্য তাদের সিএলআরে তৃতীয় পক্ষের ডিএলএল ব্যবহার সম্পর্কে প্রশ্ন সহ এটি উল্লেখ করি mention

আমার আশা এই যে কোনও তৃতীয় পক্ষের ডিএলএল চালানোর জন্য একটি cmd.exe কনসোল স্পিনিং করে, সমস্ত কিছু ইন-প্রোকে চালানোর পরিবর্তে, যদি এটি ক্র্যাশ হয়ে যায়, তবে এটি এসকিউএল সার্ভারকে ততটা প্রতিকূলভাবে প্রভাবিত করবে না। এটাই আমি আশা করি।

যদি এটি সত্যিই খারাপ দৃষ্টিভঙ্গি হয় এবং কেন তা দয়া করে মন্তব্য করুন।

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