近来在使用SQL Server数据库时,意外出现了“error:40”的错误提示。
经过整理,主要有两种情况下会出现此错误:打开SQL Server 2005时弹出的;在应用程序连接SQL Server 2005时出现。
那么“error:40”是什么引起的呢?归纳了一下,由以下几个原因:
1.数据库引擎没有启动
两种启动方法:
(1)开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击“服务的连接的外围应用配置器”,在打开的界面中找到Database Engine,单击“服务”,在右侧查看是否已启动,如果没有启动可单击“启动”,并确保“启动类型”为自动,不要为手动,否则下次开机时又要手动启动;
(2)可打开:开始->程序->Microsoft SQL Server 2005(51aspx)->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER),并单击工具栏中的“启动服务”按钮把服务状态改为启动;
使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看“SQL Server 2005配置管理器”中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止。然后再执行上述一种方式操作就可以了。
2.进行远程连接时,是否已允许远程连接
SQL Server 2005 在默认情况下仅限本地连接,我们可以手动启用远程连接。在上面第一种方式中,找到Database Engine,单击“远程连接”,在右侧将“仅限本地连接(L)”改为“本地连接和远程连接(R)”,并选中“同时使用TCP/IP和named pipes(B)”。
3.如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确
我在一次局域网内连接数据库时,就要因为连接字符串出了问题,在局域网内一台机子连接另一台机子上数据库时。我在连接数据库时总是出现上面的错误,查了好长时间,后来发现,IP没有正确地传到连接字符串。原来我在连接时,使用的是本地,即127.0.0.1,输入的IP没有传到连接字符串。