【问题标题】:Application not connecting to SQL Server database应用程序未连接到 SQL Server 数据库
【发布时间】:2018-09-03 09:40:55
【问题描述】:

我在一家救护车公司工作,他们最近投资了这些平板电脑,这些平板电脑可以在卡车上行驶,事件的所有患者数据都可以使用 Octivus 名为 MobiMed 的软件记录在上面,问题是因为重置软件以确保任何以前的病人数据都被删除了,我重新安装了 Mobimed 和它附带的软件(我们只得到了已经存储在平板电脑上的 msi),发现它在尝试启动“连接到数据库 127.0.0.1 时卡住了: 1791”,而且还在不断增加。所有的日志都说:“等待 DBI/DBO 准备好”

它运行的是 SQL Server 2008 R2,并且从我们带来它时就没有被修改过。我只卸载了该软件,但在搜索 REGEDIT 后,我找不到与用户名有关的任何内容,并且该软件的开发人员没有回复。

我应该从哪里开始的任何解决方案?我之前没有接触过 SQL Server,而且没有在线软件指南...

编辑 - 显示端口和 msi 配置信息。

这一切都是在我删除 regedit 中的设置后发生的,因为它一直在重建旧的设置缓存,谢谢你的帮助!

【问题讨论】:

  • 127.0.0.1 表示本地主机,通常是平板电脑。这听起来像是一个配置问题,除非数据库实际上在设备本身上。如果不是,该 IP 地址应该指向您的数据库服务器。
  • 您可能需要确保平板电脑上正在运行 MSSQL。
  • 一些想法。您说它使用的是 SQL Server 2008 R2,但您的屏幕截图显示的是 SQL Server Express。卸载期间是否删除了 2008 R2,并且可能没有重新安装?此外,SQL Server 的默认端口是 1433。由于 MobiMed 使用端口 1791 进行连接,因此必须将 SQL Server 配置为侦听该端口。搜索 MobiMed 和端口 1791,SQL Server 侦听端口 1791。您应该会在了解如何使用端口来控制应用程序和数据库之间的通信时找到帮助。
  • 呃。安装到 C:\ 驱动器的根目录而不是 Program Files 并不是软件编写良好的标志。
  • @JamesL Express Edition 是 Sql Server 2008 R2 的一个版本。它们是一样的。

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

这不是一个完整的答案,但我无法在 cmets 中包含这一级别的详细信息。因此,在您继续进行故障排除时,这里提供的答案可能会对您有所帮助。

如果您可以打开提升权限的命令窗口(例如,“开始 | cmd | 右键单击​​ | 以管理员身份运行”),那么您可以运行以下命令来查找 SQL Server 正在侦听的端口:

netstat -n -b -a

输出将如下所示:

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
 [sqlservr.exe]

我使用 SQL Server 2008 R2。进程的名字是sqlservr.exe,你可以看到它正在监听端口1433。您应该在平板电脑上寻找类似的东西。我不确定 SQL Server Express 的 exe 名称是否也是 sqlservr.exe。所以你的可能会略有不同。

确保找到状态为 LISTENING 的行,该行位于 SQL Server Express 的 exe 名称上方。

无论 SQL Server 监听的端口是 MobiMed 应该连接的端口。您应该能够配置 SQL Server 或 MobiMed 以便端口匹配...

我认为安装程序会负责 SQL Server 和 MobiMed 的端口分配。也许应该安装另一个.msi 包?

【讨论】:

  • SQL Express的exe也是sqlservr.exe
  • @James-l 我查看了端口,发现 sqlservr.exe 在端口 49176 上侦听(如果它位于 exe 名称上方而不是下方),我看到了 Mobimed 和其他 MSI 之一使用端口 4711,只是为了向 msi 添加一些信息,其中一个是数据库接口,而 DBO 将预制数据库安装到平板电脑上的本地服务器中。我会将所有内容的屏幕截图添加到我的问题中。
  • @J.Mordaunt - 几个想法:mmm.exeortivus.exe 右侧的文本是进程Established 还是Listening?进程的 IP:PORT 只是 exe 名称。奇怪的是 SQL Server 正在侦听端口 49167。您可以尝试在MMM Configuration 对话框的Enter portnumber for DBI server (1797) 行中键入 SQL Server 正在侦听的端口 (49167)。在不确切知道所有部分如何相互通信的情况下,我不确定这是否是正确的做法,但值得一试。如果它不起作用,您可以随时将其重新设置。
  • 我满怀希望地改变了端口,但它只是像以前一样及时增加,事实上数据库没有改变并且在清除 regedit 之前它都与该端口一起工作让我有点难过。也许我应该尝试完全卸载 SQL 和所有的 msi?我知道它是本地主机,但它可能是防火墙问题吗? Windows 操作中心说由于服务错误而无法打开防火墙,所以这可能是问题所在?虽然我用我的笔记本电脑设置了一个测试设置,但它一直无法连接到数据库,但我没有将端口更改为 SQL 服务器。
  • @J.Mordaunt - 可能是 Windows 防火墙问题,可能是“数据库实例”的语法,可能是防病毒/防火墙阻止 MobiMed 的各个部分相互通信等. 对不起,我无法为您提供更多帮助。祝你好运
【解决方案2】:

我猜您在 Ortivus DBO 安装中的服务器名称是错误的。 将 ORTIVUS 替换为 MEDI-TAB\ORTIVUS

【讨论】:

    猜你喜欢
    • 2018-05-16
    • 2013-06-01
    • 2018-07-02
    • 2013-03-24
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多