我在SQL Server中创建了一个使用以下配置创建的数据库:
另外,我正在尝试连接到名为EDS
的数据库。
为此,我创建了以下详细信息:
我应该在字符串中有域名还是应该在用户名中? 当我转到数据库属性时,我看到所有者有。 另外,根据图像,实例部分的URL是否正确?看起来它无法进入那个特定的实例。
此外,这是连接的配置(使用Windows Authenticaton)
当我输入用户名时,我收到以下错误日志:
com.microsoft.sqlserver.jdbc.SQLServerException:用户登录失败'。 ClientConnectionId:e812971f-B03C-4210-9dbd-de0791bcc304
答案 0 :(得分:12)
指定SQL Server实例的位置时,通常会提供serverName\instanceName
或 serverName:portNumber
,而不是两者。那就是
jdbc:sqlserver://INNOWAVE-99\SQLEXPRESS01;databaseName=EDS
或
jdbc:sqlserver://localhost:1433;databaseName=EDS
(假设SQLEXPRESS01实例已显式配置为侦听端口1433,这通常不是SQL Express实例的情况)。
的文档中所述如果同时使用portNumber和instanceName,则portNumber优先,而instanceName将被忽略。
没有为Microsoft的SQL Server JDBC驱动程序的连接URL定义domain=
属性。使用integratedSecurity=true
连接属性(并且不明确提供用户名和密码)隐式使用Windows域凭据登录到SQL Server实例;详情here。
答案 1 :(得分:0)
我也有同样的问题。没有端口号也为我工作。 不要忘记在连接结束时输入分号。
通过使用集成身份验证连接到本地计算机上的默认数据库:
jdbc:sqlserver://localhost;integratedSecurity=true;
连接到远程服务器上的命名数据库:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;
通过默认端口连接到远程服务器:
jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true;
通过指定自定义的应用程序名称进行连接:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp;
参考链接:mssql document