Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将spring boot连接到azure sql server时出现问题_Java_Spring_Hibernate_Azure - Fatal编程技术网

Java 将spring boot连接到azure sql server时出现问题

Java 将spring boot连接到azure sql server时出现问题,java,spring,hibernate,azure,Java,Spring,Hibernate,Azure,我有一个SpringBoot项目,在这个项目中,我尝试连接到我刚刚创建的azure sql数据库。第一次尝试时,我使用的是com.microsoft.sqlserver groupId下的sqljdbc4,每次尝试启动它时,我都会遇到安全错误,在谷歌上搜索发现它是通过使用6+版本修复的。然后我安装了它并设置了依赖项 <dependency> <groupId>com.microsoft.sqlserver</groupId>

我有一个SpringBoot项目,在这个项目中,我尝试连接到我刚刚创建的azure sql数据库。第一次尝试时,我使用的是com.microsoft.sqlserver groupId下的sqljdbc4,每次尝试启动它时,我都会遇到安全错误,在谷歌上搜索发现它是通过使用6+版本修复的。然后我安装了它并设置了依赖项

    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>slqjdbc6</artifactId>
        <version>6.2.1</version>
    </dependency>
.m2存储库下的slqjdbc6

C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\maven-metadata-local.xml
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\_remote.repositories
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\slqjdbc6-6.2.1.jar
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\slqjdbc6-6.2.1.pom

你把那个驱动程序安装到哪里了?SQL Server驱动程序在公共Maven存储库中不可用,因此除非您有一个私有Maven存储库,并且您已将该依赖项添加到该存储库中,否则在
pom.xml
中将不会导致jdbc驱动程序在运行时可用

如果您没有可添加JDBC驱动程序的私有/公司maven存储库,我建议在源代码中添加jar文件,并使用
文件系统
存储库引用该文件


有关如何创建此类存储库的更多详细信息,请参阅此答案。请尝试以下两种方法来解决问题

  • 正如@Ben所说的,请参阅文档
    下载Microsoft JDBC驱动程序for SQL Server
    部分,将
    mssql JDBC
    驱动程序依赖项添加到
    pom.xml
    文件中,并通过Maven Central安装

  • 或者您可以先从上述文档的链接下载MS SQL Server JDBC驱动程序的jar文件。然后运行命令
    mvn install:install file-Dfile=mssql-jdbc-6.2.1.jre8.jar-dpackage=jar-DgroupId=com.microsoft.sqlserver-DartifactId=mssqljdbc6-Dversion=6.2.1
    手动将maven依赖项安装到本地maven路径,并将下面的依赖项内容添加到
    pom.xml

    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssqljdbc6</artifactId>
        <version>6.2.1</version>
    </dependency>
    
    
    com.microsoft.sqlserver
    mssqljdbc6
    6.2.1
    
  • 希望有帮助。

    试着改变一下

    spring.datasource.platform=h2
    


    我必须手动安装“slqjdbc6”驱动程序。它们安装在“C:\Users*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6”下。我在post的末尾添加了路径,这不是一个很好的解决方法,因为每个用户都必须这样做。但无论如何,请注意您在文件中引用的版本:
    com.microsoft.sqlserver
    mssql jdbc
    6.2.1.jre8
    与您放在本地存储库中的版本不同。工件和版本与您在文件系统中放置的不匹配。哦,我发布了错误的pom,因为我使用了多个窗口。我用正确的编辑了。它正确地取自netbeans,因为如果我更改了任何内容,即使只是版本号,它也会向我显示错误,某些依赖项工件不在本地存储库中,不允许我运行它。
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssqljdbc6</artifactId>
        <version>6.2.1</version>
    </dependency>
    
    spring.datasource.platform=h2
    
    spring.datasource.platform=mssql