এসকিউএল সার্ভারের জন্য মাভেন নির্ভরতা সেট আপ করা হচ্ছে


122

আমি এমন একটি পোর্টলেট বিকাশ করছি যেখানে আমার এসকিউএল সার্ভার ডাটাবেসে হাইবারনেট অ্যাক্সেস রয়েছে। আমি এর জন্য মাভেন নির্ভরতা সেট আপ করেছি এবং এসকিউএল সার্ভার সংযোগকারীটি ঠিক একইভাবে সন্ধান করার চেষ্টা করব যে আমি জানি যে মাইএসকিউএল এর রয়েছে।

তবুও যদি আমার এসকিউএল সার্ভার সংযোজকটি অনুসন্ধান করা হয় তবে আমার গুগল অনুসন্ধানটি কেবল মাইএসকিএল দেয়। সঠিক মাভেন নির্ভরতা মান কি?


উত্তর:


213

ওলাফের সরবরাহিত লিঙ্ক থেকে ড্রাইভার জেআর ডাউনলোড করুন এবং এটির সাথে আপনার স্থানীয় মাভেনের সংগ্রহস্থলে যুক্ত করুন;

mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar

তারপরে এটি আপনার প্রকল্পে যুক্ত করুন;

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>sqljdbc4</artifactId>
  <version>4.0</version>
</dependency>

13
ওলাফের উত্তরের সাথে সংযুক্ত সংস্করণটির জন্য প্রকাশিত নোটগুলিতে বলা হয়েছে যে এটি "এসকিউএল সার্ভারের জন্য মাইক্রোসফ্ট জেডিবিসি ড্রাইভার 4.0"। সুতরাং আমি এমভিএন ইনস্টলে "-Dversion = 4.0" ব্যবহার করব।
জর্জ আর্মহোল্ড

2
আমি একটি ইস্যুতে দৌড়েছি: "এই ডিরেক্টরিতে কোনও পিওএম নেই" এর সমাধানটি এখানে পাওয়া যাবে: স্ট্যাকওভারফ্লো
অ্যালান বি। Dee

4
সোর্সফোর্জে জেটিডিগুলি আপনার উত্তর
জুনচেন লিউ

1
আপনি এখানে জারটি ডাউনলোড করতে পারেন: java2s.com/Code/Jar/s/Downloadsqljdbc420jar.htm
ইয়াভুজ

আপনি স্থানীয় অ্যাপ্লিকেশন রেপোটি ডাউনলোড করে এটিকে যুক্ত করার ফলে আপনি যে অ্যাপ্লিকেশনটি তৈরি করছেন তাতে যে মেশিনটি তৈরি হচ্ছে তার সাথে সংযোগ স্থাপন হতে পারে না? মানে একই প্রকল্পটি যদি অন্য একটি মেশিনে তৈরি করার চেষ্টা করা হয়, এটি স্থানীয় রেপোতে জারটি খুঁজে পাবে না। প্রকল্পে এটি যুক্ত করা ভাল হবে না যাতে এটি ভিসিএসে পাওয়া যায়?
ওবায়দ মুরফ

69

"নতুন" এবং "শীতল" মাইক্রোসফ্টের উত্তর দিন।

হ্যাঁ, এখন এমআইটি লাইসেন্সের অধীনে এসকিউএল সার্ভার ড্রাইভার

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>

"পুরানো" মাইক্রোসফ্টের জন্য উত্তর:

আমার ব্যবহারের ক্ষেত্রে (ইন্টিগ্রেশন টেস্টিং) জেডিবিসি ড্রাইভারের নির্ভরতার জন্য সিস্টেম স্কোপ ব্যবহার করার পক্ষে এটি যথেষ্ট ছিল:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>3.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
    <optional>true</optional>
</dependency>

এইভাবে, আমি জেডিবিসি ড্রাইভারটিকে স্থানীয় সংস্করণ নিয়ন্ত্রণে রাখতে পারি। প্রতিটি বিকাশকারীকে ম্যানুয়ালি তাদের নিজস্ব স্টোরগুলিতে জিনিসপত্র সেট আপ করার দরকার নেই।

আমি এই উত্তর থেকে অন্য স্ট্যাক ওভারফ্লো প্রশ্নের উত্তরটি থেকে অনুপ্রেরণা নিয়েছি এবং আমি এটি সম্পর্কে এখানে ব্লগও করেছি


যদি এটি সম্ভব হয় তবে আমি মনে করি যে স্থানীয়
জালান

@ এমকুলিভ: এটি অবশ্যই বেশিরভাগ ক্ষেত্রেই ভাল। তবে কখনও কখনও, দ্রুত এবং নোংরা কাজ করা সহজ (এবং এখনও উপযুক্ত)।
লুকাস এদার

টাউজারির আপডেট হওয়া উত্তরের তুলনায় এই উত্তরটি পুরানো।
ধন্য

1
@ ধন্য ধন্য: ভাল, আমি আমার উত্তর টাউজরির আগেই আপডেট করেছিলাম। আসলে, টাজরির উত্তর আরও পুরানো, কারণ এটি এখনও উত্স থেকে একটি গ্রন্থাগার উল্লেখ করে। সোর্সফোর্জ !!
লুকাশ এদার

1
@ মিখাইলফিডোরভ: আমার সমাধান আমার পক্ষে কাজ করেছে। আপনার নিজের উত্তর (বা এমনকি একটি প্রশ্ন / উত্তর জুটি) যুক্ত করতে নির্দ্বিধায় করুন যা দেখায় যে এটি কীভাবে সমাধান করা যায় তা সম্প্রদায়ের পক্ষে দুর্দান্ত be
লুকাস এদার

16

এর বিকল্পও রয়েছে: আপনি এমএস-এসকিউএল সার্ভারের জন্য ওপেন সোর্স জেটিডিএস ড্রাইভার ব্যবহার করতে পারেন যা মাইক্রোসফ্ট দ্বারা তৈরি না হলেও সামঞ্জস্যপূর্ণ। এই ড্রাইভারটির জন্য, একটি খাঁটি শিল্পকর্ম রয়েছে যা আপনি ব্যবহার করতে পারেন:

http://jtds.sourceforge.net/

Http://mvnrepository.com/artifact/net.sourceforge.jtds/jtds থেকে :

<dependency>
    <groupId>net.sourceforge.jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.3.1</version>
</dependency>

নভেম্বর ২০১ 2016 আপডেট করুন , মাইক্রোসফ্ট এখন তার এমএসএসকিউএল জেডিবিসি ড্রাইভারটি গিথুবে প্রকাশ করেছে এবং এটি এখন ম্যাভেনেও উপলভ্য:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>

জাভা ১.6-এর জন্য: আমি অনুমান করছি যে উচ্চতর সংস্করণগুলি হ'ল ১. for এর জন্য < নির্ভরতা>
রওশন খানদেলওয়াল

2
নোট করুন যে ২০১৩ সালের পর থেকে জেটিডিএসের কোনও রিলিজ ছিল না যাতে আজকাল খারাপ পরামর্শ হতে পারে ...
এমমানুয়েল টাউজরি

জেটিএস ড্রাইভারদের জাভা 8 এসএসএল নিয়ে সমস্যা ছিল (প্যাচড তবে ছেড়ে দেওয়া হয়নি) তাই আমরা স্ক্যলজডিবিসি 4
রাইচু

9

আমি বিশ্বাস করি আপনি মাইক্রোসফ্ট এসকিউএল সার্ভার জেডিবিসি ড্রাইভারটির সন্ধান করছেন: http://msdn.microsoft.com/en-us/sqlserver/aa937724


হ্যাঁ, এই এক। আমি এটি ম্যাভেনের মাধ্যমে লোড করতে চাই, সুতরাং এটি আসলে আমার প্রশ্নের উত্তর ছিল না। সুতরাং, প্রথমটি দেওয়া তার উত্তরটির জন্য আমার টিকটি পাবে!
mico

3
দেখে মনে হচ্ছে জেডিবিসি ড্রাইভারের লাইসেন্সিং এবং পুনরায় বিতরণ সম্পর্কে মাভেন এবং মাইক্রোসফ্ট লোকদের মধ্যে কিছু মতবিরোধ রয়েছে: ব্লগস.এমএসএন
ওলাফ

3

উপরের উত্তরগুলি সম্পর্কে সতর্কতা অবলম্বন করুন। sqljdbc4.jar একটি পাবলিক লাইসেন্সের সাথে বিতরণ করা হয় না এজন্য এটি রানটাইম এবং বিতরণের জন্য একটি জারে অন্তর্ভুক্ত করা কঠিন। আরও বিশদ এবং আরও ভাল সমাধানের জন্য নীচে আমার উত্তর দেখুন। আপনার উত্তরটি আমার পক্ষে যেমনটি উত্তরটি পেয়েছিল ততই সহজ হয়ে উঠবে।

https://stackoverflow.com/a/30111956/3368958


2

স্কেলসারভার জারটি ইনস্টল করার পরেও, আমার মাভেন মেন রেপোজিটরি থেকে নির্ভরশীল আনার চেষ্টা করছিলেন। আমি তখন আমার পমকে আমার স্থানীয় মেশিনের ভাণ্ডার সরবরাহ করেছি এবং এটি পরে ভাল কাজ করে ... কারওর জন্য হতে পারে।

    <repository>
        <id>local</id>
        <name>local</name>
        <url>file://C:/Users/mywindows/.m2/repository</url>
    </repository>


1

দেখে মনে হচ্ছে মাইক্রোসফ্ট তাদের কিছু ড্রাইভারকে কেন্দ্রীয় আকারে প্রকাশ করার জন্য প্রকাশ করেছে:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.