我刚刚在我的 Windows 7 机器上安装了 SQL Server 2008 R2 和 ColdFusion 9.0.1,仅供开发使用。
我的 ColdFusion 运行良好,并且提供页面(未连接到数据库)。我可以在 SQL Server Management Studio 中查看我的数据库。
我成功恢复了几个小型数据库,现在我正尝试通过 ColdFusion Administrator 为它们设置数据源。在我的另一台机器上,这非常简单。这次就没那么简单了。
我刚刚添加的数据库名为“测试”。
我收到此错误:
数据源连接验证失败:测试 java.sql.SQLNonTransientConnectionException:[Macromedia][SQLServer JDBC 驱动程序] 建立到主机和端口的套接字时出错:localhost:1433。原因:连接被拒绝:连接 根本原因是:java.sql.SQLNonTransientConnectionException:[Macromedia][SQLServer JDBC 驱动程序] 建立到主机和端口的套接字时出错:localhost:1433。原因:连接被拒绝:连接
看起来 ColdFusion 与 SQL Server 之间的连接被拒绝了。我知道,这是个很聪明的观察,对吧?
在我的另一台机器上,我只需使用默认设置即可创建数据源,无需服务器名称、用户名或密码。
关于可能是什么原因造成的以及我该如何解决它,有什么线索吗?
答案1
安装 SQL 服务器时,应选择“默认”实例,如果之前检测到另一个 SQL 服务器安装,则默认为 SQLExpress。实例化允许您在一台机器上运行和访问多个 SQL 服务器。
您确定 localhost/SQLEXPRESS 不起作用吗?
答案2
您能使用 odbcad32.exe 设置标准 DSN 吗?如果不能,则表明 ColdFusion 存在外部问题。
可能很明显,但在 SQL 配置管理器 > SQL Server 网络配置 > 中,我会确保 TCP/IP 已启用,并且“TCP 端口”设置为 1433(可能将“TCP 动态端口”设置为空白)。另请注意,那里有几个条目,一个是 localhost,这是您用于连接的。
答案3
解答:出于某种原因,使用 localhost 或在新数据源中留空服务器名称不起作用。我实际上必须输入“monster\SQLEXPRESS”。