Ham*_*med 5 c# sql-server entity-framework docker asp.net-core
我正在使用镜像在 docker 上运行 SQL Server 数据库microsoft/mssql-server-linux:2017-latest。
中的数据库连接字符串appsettings.json定义为:
"ConnectionStrings": {
"DefaultConnection": "Server=sql.data,1433;MultipleActiveResultSets=true;User Id=SA;Password=Pass@word"
},
Run Code Online (Sandbox Code Playgroud)
数据库服务定义如下docker-compose.yml:
sql.data:
image: microsoft/mssql-server-linux:2017-latest
environment:
- ID=SA
- PASSWORD=Pass@word
- ACCEPT_EULA=Y
ports:
- "1433:1433"
Run Code Online (Sandbox Code Playgroud)
当我尝试在应用程序中连接到数据库(使用实体框架)时,出现以下错误:
SqlException:用户“SA”登录失败。
为了调试它,我登录到 docker 映像,并尝试使用以下命令从 docker 访问数据库:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Pass@word"
Run Code Online (Sandbox Code Playgroud)
然后我收到以下错误:
Sqlcmd:错误:适用于 SQL Server 的 Microsoft ODBC 驱动程序 17:用户“SA”登录失败。
我尝试过"(双引号),'(单引号),并且不引用用户名和密码,以及两者的任意组合,但仍然得到相同的错误。
尝试在您的用户名和密码周围添加“(引号)”:“sa”“Pass@word”
"ConnectionStrings": {
"DefaultConnection": "Server=sql.data,1433;MultipleActiveResultSets=true;User Id='SA';Password='Pass@word'"
Run Code Online (Sandbox Code Playgroud)
},
替换Password为SA_Password连接字符串:
"ConnectionStrings": {
"DefaultConnection": "Server=sql.data,1433;MultipleActiveResultSets=true;User Id=SA;SA_Password=Pass@word"
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51547 次 |
| 最近记录: |