【发布时间】:2016-09-09 02:05:48
【问题描述】:
我有一个简单的 Windows 服务,我们已经使用了多年。我们在内部开发了它,但多年来没有人接触过它。它更新位于同一服务器上的 SQL 数据库中的几个表。我将它安装在虚拟服务器上,它似乎正在运行,但没有更新 SQL 数据库。
我相信它使用 CLICONFG 中设置的别名连接到数据库。它是使用指向本地 SQL EXPRESS 数据库的命名管道连接设置的。
它在安装了默认 SQL EXPRESS 实例的服务器上正常运行。我能找到的唯一区别是当前服务器有一个命名实例 (.\SQLEXPRESS)。但是,我已经让它在具有命名实例而不是默认实例的其他服务器上成功运行,但我似乎无法让它工作。
我已经搜索和搜索,但无法找出问题所在。 我检查了 SQL 中可能存在的权限问题,并且我为服务选择的登录名似乎一切正常。
谢谢!
【问题讨论】:
-
它是否使用了 ODBC 连接?
-
它是如何获得与 SQL 对话的连接字符串的?一个配置文件,它是在服务本身中硬编码的,还是可能是传入的参数。不知道它如何与 SQL 对话,这可能是一个问题。还要检查您的事件日志,因为即使它正在运行,它也可能会左右抛出错误。
-
这适用于哪个 RDBMS?请添加标签以指定您使用的是
mysql、postgresql、sql-server、oracle还是db2- 或其他完全不同的东西。 -
我相信连接是硬编码到服务中的。我们使用配置文件进行其他设置,但连接不包含在其中。
-
不幸的是,我不确定它是如何连接到 SQL 的。该服务与经典的 ASP/ASP.net Web 应用程序结合使用。 Web 程序使用两个连接字符串:一个在注册表中,一个在 web.config 文件中。对于经典的 ASP 和 .Net 页面,Web 应用程序都可以很好地连接到数据库。此外,服务器设置了命名管道别名(它可能是硬编码连接引用别名,因为我们对安装它的每个服务器都使用相同的别名)。
标签: sql sql-server service