首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ASP.NET核心中的Mac上运行Server的连接字符串是什么?

问在ASP.NET核心中的Mac上运行Server的连接字符串是什么?
EN

Stack Overflow用户
提问于 2021-07-01 21:23:37
回答 2查看 1.6K关注 0票数 2

我正在努力完成ASP.NET的核心教程在一个MAC上的Pluralsight。我正在使用Docker运行MSSQL,它似乎可以工作(我已经启动了sql数据库并运行了如图所示)。

第二步是让我的asp.net核心应用程序与这个mssql数据库连接。下面是我在appsettings.json中的连接字符串的内容:

代码语言:javascript
复制
  "ConnectionStrings": {
    "OdeToFood2Db": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=OdeToFood2;Integrated Security=True"
  }

这就是我在ConfigureServices()内部startup.cs中拥有的内容:

代码语言:javascript
复制
services.AddDbContextPool<OdeToFood2DbContext>(
                options =>
                {
                    options.UseSqlServer(Configuration.GetConnectionString("OdeToFood2Db"));
                }
            );

然后我试着跑

代码语言:javascript
复制
dotnet ef dbcontext info -s ../OdeToFood2/odeToFood2.csproj

但是我得到了

代码语言:javascript
复制
Build started...
Build failed. Use dotnet build to see the errors.

错误。我认为问题在于,我的连接字符串出错了,因为我在docker上运行mssql,而不是在本地运行我所遵循的教程。

如果有人能给我指明正确的方向,这肯定会帮上很多忙,我已经在这个问题上被困了5天了,这是令人痛苦的。提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-02 08:21:10

Docker在您的机器上运行自己的内部虚拟网络,发现SQL容器的IP/Hostname应该会有所帮助,因为从技术上讲,SQL实例在容器中运行。

在你的码头机器上运行

代码语言:javascript
复制
docker ps

这应该列出所有正在运行的容器,其中之一应该是SQL容器。输出应该类似于:

代码语言:javascript
复制
    CONTAINER ID   IMAGE          COMMAND                  CREATED      STATUS     PORTS        NAMES
    a8b6facb199c   SQL-Image     "some command"            X days ago   Up X days   8080        sqlserver

感兴趣的是端口、和名称字段。端口字段应该列出至少一个端口,这可能是您正在使用的SQL提供程序的默认值,但它可能不是。

我们现在有了要连接的端口,现在我们需要IP地址。在前面命令中的name字段中运行以下值(或使用容器ID)

代码语言:javascript
复制
docker inspect <image-name>

这将转储容器的属性,包括IP地址,这很可能是一个172.xIP地址。

现在我们有了端口和IP地址,您应该能够修改连接字符串来指向这些值。

票数 0
EN

Stack Overflow用户

发布于 2022-04-05 15:46:45

代码语言:javascript
复制
  "ConnectionStrings": {
    "MyWindowsConnection": "Server=(localdb)\\mssqllocaldb;Database=TestWinMac;Trusted_Connection=True;",
    "MyMacConnection": "Server=localhost,1433;Initial Catalog=TestWinMac;User ID=SA;Password=MyP@ssword"
  }

请看我的连接,标题为"MyMacConnection“。1433年是港口。我有一个同时存在于Mac和Windows机器上的项目,我根据使用的平台切换连接字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68217097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档