使用Spring Boot和SAP Cloud Connector连接到内部MS SQL Server

2020-08-18 23:30发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们!

我是SAP领域的新手,这可能是个小问题,但请忍受。

我的任务是连接到本地MS SQL Server并使用REST API从中检索数据。 我已经在本地安装了MS SQL Server,并使用Non-SAP System作为后端类型和TCP作为协议来设置SAP Cloud Connector。 在SAP CC上可以访问该连接(检查状态)。

下一步,我创建了一个简单的Spring Boot应用程序。 它使用JPA进行数据库操作。 该应用程序包含一个简单的GET API,该API执行一个简单的employeeRespository.findAll()以返回数据。 我使用localhost DB URL测试了该应用程序,并且运行良好。

接下来,我将数据库URL更改为虚拟主机URL(根据SAP CC),做了" mvn clean package"以创建war文件,并使用Tomcat 8服务器将其作为Java应用程序部署在SAP Cloud Platform上。

我在"默认跟踪"中遇到以下错误:

 2020 05 14 22:18:13#+ 00#ERROR#org.apache.tomcat.jdbc.pool.ConnectionPool ## anonymous#localhost-startStop-1#na#ede76a891#employeefetchadapter0#web ## na#na  #na#na#无法创建池的初始连接。  com.microsoft.sqlserver.jdbc.SQLServerException:到主机虚拟主机端口51651的TCP/IP连接失败。 错误:" vistualhost。请验证连接属性。请确保SQL Server实例正在主机上运行并且在端口上接受TCP/IP连接。请确保与端口的TCP连接没有被防火墙阻止。"
 在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234)
 

据我了解,似乎我的Spring Boot应用程序无法解析我在applications.properties文件中提供的数据库URL。 在生成war文件之前,我将数据源url从" localhost:51651"更改为" virtualhost:51651"(根据SAP CC上的名称)。 我允许远程访问MS SQL Server,并允许防火墙上的所有TCP/UDP端口用于入站请求。

我不确定SAP CP如何连接到SAP CC数据库连接。

非常感谢您提供任何解决此问题或解决方法的帮助。 谢谢!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们!

我是SAP领域的新手,这可能是个小问题,但请忍受。

我的任务是连接到本地MS SQL Server并使用REST API从中检索数据。 我已经在本地安装了MS SQL Server,并使用Non-SAP System作为后端类型和TCP作为协议来设置SAP Cloud Connector。 在SAP CC上可以访问该连接(检查状态)。

下一步,我创建了一个简单的Spring Boot应用程序。 它使用JPA进行数据库操作。 该应用程序包含一个简单的GET API,该API执行一个简单的employeeRespository.findAll()以返回数据。 我使用localhost DB URL测试了该应用程序,并且运行良好。

接下来,我将数据库URL更改为虚拟主机URL(根据SAP CC),做了" mvn clean package"以创建war文件,并使用Tomcat 8服务器将其作为Java应用程序部署在SAP Cloud Platform上。

我在"默认跟踪"中遇到以下错误:

 2020 05 14 22:18:13#+ 00#ERROR#org.apache.tomcat.jdbc.pool.ConnectionPool ## anonymous#localhost-startStop-1#na#ede76a891#employeefetchadapter0#web ## na#na  #na#na#无法创建池的初始连接。  com.microsoft.sqlserver.jdbc.SQLServerException:到主机虚拟主机端口51651的TCP/IP连接失败。 错误:" vistualhost。请验证连接属性。请确保SQL Server实例正在主机上运行并且在端口上接受TCP/IP连接。请确保与端口的TCP连接没有被防火墙阻止。"
 在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234)
 

据我了解,似乎我的Spring Boot应用程序无法解析我在applications.properties文件中提供的数据库URL。 在生成war文件之前,我将数据源url从" localhost:51651"更改为" virtualhost:51651"(根据SAP CC上的名称)。 我允许远程访问MS SQL Server,并允许防火墙上的所有TCP/UDP端口用于入站请求。

我不确定SAP CP如何连接到SAP CC数据库连接。

非常感谢您提供任何解决此问题或解决方法的帮助。 谢谢!

付费偷看设置
发送
2条回答
Haoba3210
1楼-- · 2020-08-19 00:05

您好,Subham

我不是这方面的专家,但我发现有帮助的地方

您是否遵循了这些步骤?

< a hraf=" https://blogs.sap.com/2018/08/28/spring-boot-and-sap-cloud-platform-neo/"> https://blogs.sap.com/2018/08/ 28/spring-boot-and-sap-cloud-platform-neo/

https://blogs.sap.com/2019/07/22/在sap-cloud-platform-cloud-foundry-part-1/

或此处的帮助文档中开发一个带有汉娜数据库的弹簧启动Java应用程序 :

https://help.sap.com/viewer/ ea72206b834e4ace9cd834feed6c0e09/Cloud/zh-CN/7613bd28711e1014839a8273b0e91070.html

还发现了一些stackoverflow问题,报告了类似的错误

https://stackoverflow.com/questions/35754791/org-apache-tomcat-jdbc-pool-connectionpool-unable-to- create-initial-connection

SQL版本可能有问题吗?

注意事项

Vinita

hongfeng1314
2楼-- · 2020-08-19 00:29

感谢Vinita的回答。 在开发用于MS SQL的连接器时,我关注了那些博客。 这里要注意的一件好事是,我必须将应用程序部署到Neo环境中,因此某些Cloud Foundry博客可能不适用。

我认为这不是SQL版本的问题。 从我的理解到现在,我觉得这更多是一个连接问题。 我认为有一种将云应用程序连接到我不知道的SAP CC主机的不同方法,或者需要以不同的方式设置SAP CC。

一周热门 更多>