繁体   English   中英

Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:用户“SA”登录失败

[英]Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user 'SA'

我正在使用microsoft/mssql-server-linux:2017-latest映像在 docker 上运行 SQL Server 数据库。

appsettings.json的数据库连接字符串定义为:

"ConnectionStrings": {
    "DefaultConnection": "Server=sql.data,1433;MultipleActiveResultSets=true;User Id=SA;Password=Pass@word"
  },

并且数据库服务在docker-compose.yml定义如下:

  sql.data:
    image: microsoft/mssql-server-linux:2017-latest
    environment:
      - ID=SA
      - PASSWORD=Pass@word
      - ACCEPT_EULA=Y
    ports:
      - "1433:1433"

当我尝试在我的应用程序中连接到数据库(使用实体框架)时,出现以下错误:

SqlException: 用户“SA”登录失败。

为了调试它,我登录到 docker 镜像,并尝试使用以下命令从 docker 访问数据库:

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Pass@word"

然后我收到以下错误:

Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:用户“SA”登录失败..

我试过" (双引号)、 ' (单引号),并且没有引用用户名和密码,以及两者的任意组合,但仍然出现相同的错误。

尝试在您的用户名和密码周围添加 '(引号):'sa' 'Pass@word'

"ConnectionStrings": {
"DefaultConnection": "Server=sql.data,1433;MultipleActiveResultSets=true;User Id='SA';Password='Pass@word'"

},

用连接字符串中的SA_Password替换Password

  "ConnectionStrings": {
    "DefaultConnection": "Server=sql.data,1433;MultipleActiveResultSets=true;User Id=SA;SA_Password=Pass@word"
  },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM