通过谷歌代理将本地spring boot应用程序连接到谷歌云SQL

我是 Java/spring boot 的新手,我正在尝试使用谷歌的云 SQL 作为我项目的数据库。我已经下载了谷歌代理并使用谷歌云 SDK 进行了身份验证。当我启动代理并使用 SSMS 连接时,它会连接并且工作正常。问题是当我尝试通过 Spring Boot 应用程序进行连接时,出现错误。我不确定我是否在应用程序属性中遗漏了某些东西,或者忘记导入依赖项或类似的东西。任何帮助,将不胜感激!我在下面包含了 applications.properties、build.gradle 和错误。谢谢!

应用程序属性

spring.jpa.hibernate.ddl-auto=create spring.datasource.url=jdbc:mysql://127.0.0.1:1433/{DBNAME} spring.datasource.username={DMUSERNAME} spring.datasource.password={DMPASSWORD}

构建.gradle

   id 'org.springframework.boot' version '2.2.1.RELEASE'
   id 'io.spring.dependency-management' version '1.0.8.RELEASE'
   id 'java'
}

group = '{GROUPNAME}'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
   compileOnly {
       extendsFrom annotationProcessor
   }
}

repositories {
   mavenCentral()
   maven { url 'https://repo.spring.io/milestone' }
}

ext {
   set('springCloudVersion', "Hoxton.RC2")
}

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-web'
   compileOnly 'org.projectlombok:lombok'
   annotationProcessor 'org.projectlombok:lombok'
   testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
   testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
   implementation 'org.springframework.cloud:spring-cloud-gcp-starter'
   implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
   runtime 'mysql:mysql-connector-java'
   implementation 'org.springframework.boot:spring-boot-starter-jdbc'

}

dependencyManagement {
   imports {
       mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
   }
}

test {
   useJUnitPlatform()
}

错误

  Caused by: java.net.ConnectException: Connection refused: no further information
  Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service 
  [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
  Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 
  'hibernate.dialect' not set
   Process 'command 'C:/Program Files/Java/jdk-13.0.1/bin/java.exe'' finished with non-zero exit value 1
约翰·汉利

您使用的是哪个数据库?您的问题已标记为mysql

端口 1433 用于 Microsoft SQL Server。SSMS 适用于 Microsoft SQL Server

您的连接字符串是用于 MySQL 而不是用于 SQL Server。

改变这个:

spring.datasource.url=jdbc:mysql://127.0.0.1:1433/{DBNAME}

对此:

spring.datasource.url=jdbc:sqlserver://127.0.0.1:1433/{DBNAME}

上述连接字符串使用 TCP 套接字(而不是 Unix 套接字),并且要求还使用 TCP 套接字设置 Cloud SQL 代理。例如,当您以 TCP 套接字模式启动 Cloud SQL 代理时,它应如下所示:

./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:1433

由于您已通过 SSMS 成功连接,因此我假设您已为 Cloud SQL 访问设置了正确的角色。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将MySQL连接到Spring Boot REST应用程序

无法将Microsoft SQL Server连接到Spring Boot应用程序

无法将Microsoft SQL Server连接到Spring Boot应用程序

无法从Spring Boot应用程序连接到IBM MQ

将本地React前端连接到本地Spring Boot中间件应用程序时发生CORS错误

如何将AWS Elasticache Redis集群连接到Spring Boot应用程序?

将Spring Boot应用程序连接到AWS Aurora的通信链接失败

将Spring Boot Web应用程序连接到Postgresql服务器

如何将Spring Boot应用程序正确连接到Elasticsearch 6.1?

如何在Spring Boot应用程序中通过SSH隧道连接到远程MySQL

Google App Engine中的Spring Boot应用程序无法连接到Cloud SQL

从Spring Boot应用程序连接到本地MySQL数据库时出错

谷歌应用程序引擎并链接到android项目

如何压缩谷歌云存储文件?谷歌应用程序引擎

无法从谷歌应用引擎节点连接到云 sql 中的 postgres

无法从计算引擎实例连接到谷歌云 SQL

无法从外部连接到在谷歌云上运行的 Snap 应用程序

如何将外部网络应用程序上的 html 表单提交连接到用户的谷歌表?

如何将 django 网络应用程序部署到谷歌云?

如何将 MySQLdb 代码连接到谷歌云 SQL?

如何将世博会应用程序连接到谷歌 Firestore?

我需要使用java但不使用spring boot连接到谷歌云mysql?

允许谷歌应用程序权限后无法连接到本地主机

从 Spring Boot 应用程序连接到本地 Bitnami Docker Kafka 时出错

在生产中验证谷歌云运行应用程序

是否可以将非容器化的 Spring Boot 应用程序连接到 MongoDB Docker 容器?

无法将参数从云函数传递到谷歌应用程序脚本并返回响应

如何从应用程序调用谷歌云身份 API

Spring 应用程序无法连接到 Kafka 代理