নিখোঁজ নিবন্ধটি com.microsoft.sqlserver: sqljdbc4: jar: 4.0


103

আমি আমার POM.xML ফাইলে এমএস এসকিউএল ড্রাইভার নির্ভরতা যুক্ত করার চেষ্টা করছি এবং নিম্নলিখিতটি নির্ভরতা।

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

তবে আমি এই ব্যতিক্রম পাই

নিখোঁজ নিবন্ধটি com.microsoft.sqlserver: sqljdbc4: jar: 4.0

আমি সত্যিই বিষয়টি বুঝতে পারি না।

উত্তর:


160

হালনাগাদ

মাইক্রোসফ্ট এখন এই শিল্পকলাটি মভেন সেন্ট্রালে সরবরাহ করে। আরও তথ্যের জন্য @ নির্মলের উত্তর দেখুন: https://stackoverflow.com/a/41149866/1570834


মূল উত্তর

সমস্যাটি হ'ল মাভেন কনফিগার করা মাভেনের কোনও সংগ্রহস্থলে এই নিদর্শনটি খুঁজে পাচ্ছেন না ।

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

আপনি নিম্নলিখিত maven কমান্ড দিয়ে এটি করতে পারেন:

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

তারপরে আপনি যখন নিজের পিওএমে মাভেন চালাবেন তখন এটি শিল্পকর্মটি খুঁজে পাবে।


উত্তরের জন্য ধন্যবাদ তবে আমি যখন কমান্ডটি [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4 :install-file (default-cli) on project standalone-pom: The specified file 'C:\Us ers\anthony\sqljdbc4.jar' not exists -> [Help 1]
চালাচ্ছি

3
নিশ্চিত হয়ে নিন যে আপনি যে কমান্ডটি চালাচ্ছেন সেই ডিরেক্টরিতে sqljdbc4.jar টি সেই জায়গা যা অন্যথায় সম্পূর্ণ পথ সরবরাহ করে।
সের্গেই ম্যাকারভ

2
@ অ্যান্টনি, যেমন সের্গেই বলেছেন, আপনি যে জায়গাতে sqljdbc4.jar ডাউনলোড করেছেন বা -Dfile=C:\Users\anthony\Downloads\sqljdbc4.jarউদাহরণ হিসাবে ফাইলটির পুরো পথ সরবরাহ করেছেন সেই একই জায়গা থেকে আপনাকে মাভেন কমান্ডটি (আমার উত্তর হিসাবে দেওয়া হয়েছে) চালানো দরকার ।
ডিবি 5

sqljdbc4.jar ইনস্টল করার পরে @ ডিবি 5 বলেছে, এটি এখনও আমার একই ত্রুটি দেয় যখন আমি আমার প্রকল্পে এমভিএন প্যাকেজ পরিচালনা করি, সে সম্পর্কে কোনও ধারণা? এটি আসলে কোথায় ইনস্টল হয়? আমি কি এমভিএন থেকে স্থানীয়ভাবে ইনস্টল করা জারের একটি তালিকা দেখতে পাচ্ছি?
পি-আরএড

5
দেখতে আমার উত্তর ম্যাভেন কেন্দ্রীয় করতে নিচের এই JDBC ড্রাইভারের মাইক্রোসফট (নভেম্বর 2016 এর হিসাবে) যোগ
নির্মল

73

মাইক্রোসফ্ট সম্প্রতি তাদের জেডিবিসি ড্রাইভার খোলা আছে

আপনি এখন মাভেন সেন্ট্রালে ড্রাইভারটি খুঁজে পেতে পারেন:

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>

বা জাভা 7 এর জন্য:

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre7</version>
</dependency>

আমি কয়েক ঘন্টা এই কাজটি করার চেষ্টা করেছি এবং খুঁজে পেয়েছি যে 7.4.1 সংস্করণটি 7.0.0 সংস্করণ অনুসারে আমার জন্য কোনও ড্রাইভার লোড করে না। আপনি কি জানেন কেন এটি হতে পারে?
আর্চমেড

27

আমার অনুরূপ সমস্যা ছিল এবং এটি অনুসরণ করে সমাধান করেছি।

  • মাইক্রোসফ্ট ওয়েবসাইট থেকে আপনার স্থানীয় মেশিনে sqljdbc4.jar ডাউনলোড করুন।
  • প্রকল্পে ডান ক্লিক করুন -> আমদানি -> মাভেন -> মাওন সংগ্রহস্থলে একটি নিদর্শন ইনস্টল করুন বা নিচে দেখানো হিসাবে স্থাপন করুন।

এখানে চিত্র বর্ণনা লিখুন

* পরবর্তী ->

Artifact file: আপনার ডাউনলোড করা জারটির নীচের বিশদটি পূরণ করুন (প্রাক্তন: E: case lib \ sqljdbc4.jar আমার ক্ষেত্রে)
Group Id:com.microsoft.sqlserver
Artifact Id:sqljdbc4
Version:4.0

এখানে চিত্র বর্ণনা লিখুন

  • তারপরে প্রকল্পটি রিফ্রেশ / ক্লিন করুন।

    ধন্যবাদ!

1
তবুও আমি এই সমস্যাটি
পাচ্ছি

1
অসাধারণ!!! তবে আমাকে প্রকল্পের মাধ্যমে প্রকল্পটি রিফ্রেশ করতে হয়েছিল -> রাইট ক্লিক -> ম্যাভেন -> আপডেট প্রকল্প ...
সঞ্জীব ধীমান

11

উপরের উত্তরটি কেবল স্থানীয় সংগ্রহস্থলে sqljdbc4.jar যুক্ত করে । ফলস্বরূপ, বিতরণের জন্য চূড়ান্ত প্রকল্পের জার তৈরি করার সময়, sqljdbc4 আবার অনুপস্থিত হবে যা রানটাইম ত্রুটির বিষয়ে @ টনি দ্বারা মন্তব্যে নির্দেশিত হয়েছিল।

মাইক্রোসফ্ট (এবং ওরাকল এবং অন্যান্য তৃতীয় পক্ষের সরবরাহকারী) ENU / EULA অনুযায়ী তাদের সফ্টওয়্যার বিতরণকে সীমাবদ্ধ করে। সুতরাং সেই সফ্টওয়্যার মডিউলগুলি বিতরণের জন্য মাভেন উত্পাদিত জারেগুলিতে যুক্ত হয় না। এর চারপাশে যাওয়ার হ্যাক রয়েছে (যেমন রানটাইমের সময় 3 য় পক্ষের জারের ফাইলের অবস্থান সরবরাহ করা), তবে একজন বিকাশকারী হিসাবে আপনাকে অবশ্যই লাইসেন্সিং লঙ্ঘন সম্পর্কে সতর্ক থাকতে হবে।

জেডিবিসি সংযোগকারী / চালকদের পক্ষে আরও ভাল পদ্ধতির জন্য জেটিডিএস ব্যবহার করা হয় , যা বেশিরভাগ ডিবিএমএসের সাথে সামঞ্জস্যপূর্ণ, আরও নির্ভরযোগ্য, দ্রুত (বেঞ্চমার্ক অনুসারে), এবং জিএনইউ লাইসেন্সের আওতায় বিতরণ করা হয়। উপরের অন্যান্য যে কোনও কৌশল অনুসরণ করে বর্গক্ষেত্রের পেগটিকে বৃত্তাকার গর্তে পাউন্ড করার চেষ্টা করার চেয়ে এটি আপনার জীবনকে ব্যবহার করা আরও সহজ করে তুলবে।


ওহ মানুষ জেটিডিগুলি আমার দিনটি বাঁচিয়েছে, স্কেলজডিবিসি 4 কে গ্রেডের সাথে কনফিগার করছে কিছু ব্যথা হ'ল একটি * এস
নরবার্টাস.গৌলিয়া

কেবলমাত্র এটি হ'ল জেটিডিএস মাইক্রোসফ্টের ড্রাইভারের মতো একই কার্যকারিতা সমর্থন করে না। উদাহরণস্বরূপ, ব্যাচ আপডেট।
lpacheco

1
দুর্ভাগ্যজনক যে জেটিডিএস ডেটটাইম 2 ডেটা টাইপ সমর্থন করে না। আমার পছন্দগুলি হ'ল আমার নিজের ডেটটাইম 2-থেকে-জাভা-তারিখ পদ্ধতিটি রোল করা বা মাইক্রোসফ্ট ড্রাইভারকে কাজ করার জন্য প্রচুর হুপ করে যেতে হবে।
জেকেরাক

2017 হিসাবে, ড্রাইভারটি জেডিবিসি 4 তে আপডেট করা হয়নি এবং বেশ মারা গেছে, হিকারিসিপি এবং আরও আধুনিক সংযোগ পুলগুলির সাথে কাজ করে না।
আলফাব্রাভো

11

আপনি একটি প্রকল্পের সংগ্রহশালাও তৈরি করতে পারেন। এটি আরও কার্যকর যদি আরও বিকাশকারী একই প্রকল্পে কাজ করে, এবং গ্রন্থাগারটি অবশ্যই প্রকল্পের অন্তর্ভুক্ত করা উচিত।

  • প্রথমে আপনার প্রকল্পের লাইব ডিরেক্টরিতে একটি সংগ্রহস্থল কাঠামো তৈরি করুন এবং তারপরে গ্রন্থাগারটি অনুলিপি করুন। গ্রন্থাগারের অবশ্যই নিম্নলিখিত নাম-ফর্ম্যাট থাকতে হবে:<artifactId>-<version>.jar

    <your_project_dir>/lib/com/microsoft/sqlserver/<artifactId>/<version>/

  • লাইব্রেরি ফাইলের পাশে পম ফাইল তৈরি করুন এবং এর মধ্যে নিম্নলিখিত তথ্য রাখুন:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <modelVersion>4.2.0</modelVersion>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>4.2</version>
    </project>
  • এই মুহুর্তে, আপনার এই ডিরেক্টরি কাঠামো থাকা উচিত:

    <your_project_dir>/lib/com/microsoft/sqlserver/sqljdbc4/4.2/sqljdbc4-4.2.jar <your_project_dir>/lib/com/microsoft/sqlserver/sqljdbc4/4.2/sqljdbc4-4.2.pom

  • আপনার প্রকল্পের পম ফাইলে যান এবং নতুন ভান্ডার যুক্ত করুন:

    <repositories>
        <repository>
            <id>Project repository</id>
            <url>file://${basedir}/lib</url>
        </repository>
    </repositories>
  • শেষ পর্যন্ত লাইব্রেরিতে নির্ভরতা যুক্ত করুন:

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

4.3.2017 আপডেট করুন

দেখে মনে হচ্ছে লাইব্রেরিটি সর্বজনীনভাবে উপলভ্য সংগ্রহস্থল থেকে পাওয়া যেতে পারে। আরও তথ্যের জন্য @ এসি নির্মল এবং জ্যাসেক গ্রজেলাজিকের উত্তরসমূহ।


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

@ ইপাচেকো সঠিক, এটি অবশ্যই গ্রহণযোগ্য উত্তর হওয়া উচিত।
rjmadore


1

যখন 6.1.0.jre7 জন্য নির্ভরতা অন্তর্ভুক্ত করা থেকে @nirmals উত্তর আপনি কিছু ইস্যু হয়ে থাকে তবে https://stackoverflow.com/a/41149866/1570834 Commons-কোডেক / আকাশী নীল-keyvault আমি এই সাথে যাচ্ছি পছন্দ সঙ্গে, আপনার পম মধ্যে :

    <dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc</artifactId>
       <version>6.2.2.jre7</version>                
    </dependency>

0

এটা খুব কঠিন নয়। আমি এখনও লাইসেন্স পড়িনি। তবে আমি এই কাজগুলি প্রমাণ করেছি। আপনি একটি নেটওয়ার্ক শেয়ার বা স্থানীয় ডিরেক্টরিতে sqljdbc4 জার ফাইলটি অনুলিপি করতে পারেন। আপনার বিল্ড.gradle দেখতে হবে:

apply plugin: 'java'
//apply plugin: 'maven'
//apply plugin: 'enhance'

sourceCompatibility = 1.8
version = '1.0'

//library versions
def hibernateVersion='4.3.10.Final'
def microsoftSQLServerJDBCLibVersion='4.0'
def springVersion='2.5.6'

def log4jVersion='1.2.16'
def jbossejbapiVersion='3.0.0.GA'

repositories {
    mavenCentral()
    maven{url "file://Sharedir/releases"}
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile "org.hibernate:hibernate-core:$hibernateVersion"
    compile "com.microsoft.sqlserver:sqljdbc4:$microsoftSQLServerJDBCLibVersion"
}

task showMeCache << {
    configurations.compile.each { println it }
}

শেয়ার্ডির / রিলিজ ডিরেক্টরিতে, আমার কাছে মেন স্ট্রাকচারের অনুরূপ ডিরেক্টরি রয়েছে যা \ শেয়ারডির \ রিলিজস \ কম \ মাইক্রোসফ্ট \ স্ক্ল্যাসারভার q স্ক্লিজডবিসি 4 \ ৪.০ q স্ক্যলজেডবিসি ৪-৪.০.জার

শুভকামনা

ডেভিড ইয়েন


0

স্ব-সমাপ্ত মাভেন প্রকল্পের জন্য আমি সাধারণত সমস্ত বাহ্যিক জারের নির্ভরতাগুলি প্রকল্পের সংগ্রহস্থলে ইনস্টল করি। এসকিউএল সার্ভার জেডিবিসি ড্রাইভারের জন্য আপনি এটি করতে পারেন:

  • https://www.microsoft.com/en-us/download/confirmation.aspx?id=11774 থেকে জেডিবিসি ড্রাইভার ডাউনলোড করুন
  • local-repoআপনার মাভেন প্রকল্পে ফোল্ডার তৈরি করুন
  • অস্থায়ী অনুলিপি sqljdbc42.jarমধ্যে local-repoফোল্ডারের
  • মধ্যে local-repoফোল্ডারের রান mvn deploy:deploy-file -Dfile=sqljdbc42.jar -DartifactId=sqljdbc42 -DgroupId=com.microsoft.sqlserver -DgeneratePom=true -Dpackaging=jar -Dversion=6.0.7507.100 -Durl=file://.স্থানীয় সংগ্রহস্থলে প্রয়োগের জারে (এস সি এম আপনার কোড সঙ্গে একসঙ্গে সংরক্ষিত)
  • sqljdbc42.jar এবং ডাউনলোড করা ফাইলগুলি মোছা যায়
  • আপনারগুলির সংশোধন করুন pom.xmlএবং প্রকল্পের স্থানীয় সংগ্রহস্থলের রেফারেন্স যুক্ত করুন: xml <repositories> <repository> <id>parent-local-repository</id> <name>Parent Local repository</name> <layout>default</layout> <url>file://${basedir}/local-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> এখন আপনি কোনও অতিরিক্ত কনফিগারেশন বা ইনস্টলেশন ছাড়াই আপনার প্রকল্পটি সর্বত্র চালাতে পারবেন।

0

আপনি অন্য ড্রাইভার ব্যবহার করতে পারেন

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

এবং এক্সএমএলে

<bean id="idNameDb" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
        <property name="url" value="jdbc:jtds:sqlserver://[ip]:1433;DatabaseName=[name]" />
        <property name="username" value="user" />
        <property name="password" value="password" />
</bean>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.