我有一个通过JDBC连接到的Azure SQL Server数据库,但想连接到我的SQL Server“ localhost”。在SSMS中,无需密码即可连接到localhost。因此,我仍然需要使用Java输入密码吗?
我有这样的代码:
String connectionUrl =
"jdbc:sqlserver://etcetc.database.windows.net:1433;"
+ "database=med;"
+ "user=windersan@salemimed;"
+ "password=********;"
+ "encrypt=true;"
+ "trustServerCertificate=false;"
// + "hostNameInCertificate=*.database.windows.net;"
+ "loginTimeout=30;";
我如何更改它以改为连接到本地主机?
串联字符串的第一行包含URL etcetc.database.windows.net:1433
,这是数据库服务器的位置,应该更改的位。
另外,用JDBC连接到SqlServer看看是否有任何示例可能值得做一个Google搜索。
只需将etcetc.database.windows.net
替换为localhost
,然后将端口号1433替换为您使用的端口号。
我已经使用SQLServerDataSource
类来简化工作。您也可以创建一个字符串URL并将其设置在DriverManger.getConnection()
中。
尝试使用此代码:
SQLServerDataSource dataSource = new SQLServerDataSource();
dataSource.setUser("windersan@salemimed");
dataSource.setPassword("********");
dataSource.setServerName("localhost");
// set the port number of your system below.
dataSource.setPortNumber(1433);
dataSource.setDatabaseName("med");
dataSource.setEncrypt(true);
dataSource.setHostNameInCertificate("*.database.windows.net");
dataSource.setTrustServerCertificate(false);
Connection connection = dataSource.getConnection();
请参考下面的链接以获取更多信息。
Microsoft Docs - ISQLServerDataSource Interface-包含可用于创建数据源的方法的列表。
Microsoft Docs - How to work with the connection-这包含连接到SQL Server数据库的可能方法的示例。