我能够连接到具有IP地址的数据库,但是如果 我在Azure SQL数据库服务器中创建了我的数据库,因为我无法使用Spring配置Java Web应用程序进行连接。它显示错误说
与主机vinayaka.cloudapp.net,555的连接,命名实例sqlexpress失败。错误:" java.net.UnknownHostException:vinayaka.cloudapp.net,555"。验证服务器和实例名称,并检查没有防火墙阻止到端口1434的UDP流量。对于SQL Server 2005或更高版本,请验证主机上是否正在运行SQL Server Browser服务。
弹簧-config.xml中
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url" value="jdbc:sqlserver://vinayaka.cloudapp.net,555\sqlexpress;database=Sample" />
<property name="username" value="user" />
<property name="password" value="pass" />
</bean>
注意:
1)我可以在SQL Server Management Studio中打开并使用该服务器。
2)如果我能够在SQL Server Management Studio中打开,则表示防火墙允许我的计算机IP地址。
3)我可以连接到Azure SQL数据库中创建的数据库。
请就此提出建议。
答案 0 :(得分:1)
Azure SQL Database for JDBC的连接字符串类似于jdbc:sqlserver://<hostname>.database.windows.net:1433;database=<dbname>;user=<user>@<hostname>;password={your_password_here};encrypt=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
。
您可以在Azure旧门户网站或新门户网站上查看Azure SQL数据库的连接字符串,请参阅下面的图片。
答案 1 :(得分:0)
555
端口是否由数据库公开以进行连接?
连接字符串不应该是这样的吗?
<property name="url" value="jdbc:sqlserver://vinayaka.cloudapp.net:555\sqlexpress;database=Sample" />
我已使用,
:
答案 2 :(得分:0)
更改连接字符串,例如“jdbc:sqlserver:// {HostName} .database.windows.net; database = {databaseName}; encrypt = true; hostNameInCertificate = * .database.windows.net; loginTimeout = 30”。 并使用sqljdbc4 jar文件。希望它能起作用。