如何处理数据库远程调用失败问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何处理数据库远程调用失败问题相关的知识,希望对你有一定的参考价值。

第一种办法就是
打开控制面板,找到卸载程序,把”Microsoft SQL Server 2013(2012) Express LocalDB”卸载掉,然后打开SQL Server 配置管理器,就会显示正常使用。

2
 第二种办法就是升级数据库
使用更高版本的数据库,或者升级SqlServer2008为SP1或者SP2。
3
 第三种方法就是手动启动数据库服务项
方法如下:
右击“计算机”→“管理”→“服务”,找到SQL Server(MSSQLSERVER),右击,选择“启动”。此时登陆数据库不会有问题,但是重新启动系统后,问题会依旧存在的。
参考技术A 1、确定sql服务是否启动
方法:win+R运行--》输入services.msc打开服务--》查看SQL Server (MSSQLSERVER)是否启动
2、本地连接sql,看是否允许远程连接
方法:右击数据库属性,点击左侧链接选项,右侧查看 允许远程连接到此服务器 是否勾选
3、确定sql端口正确
方法:打开sql server配置管理器--》sqlserver网络配置--》SQLEXPRESS的协议--》开启TCP/IP协议--》查看TCP/IP协议属性 --》IP地址中的端口(默认是1433,如果是其他,确定防火墙已允许通过)

如何处理 JavaScript Fetch 错误?

【中文标题】如何处理 JavaScript Fetch 错误?【英文标题】:How do I handle JavaScript Fetch errors? 【发布时间】:2017-01-16 13:29:04 【问题描述】:

如果在 Chrome 中调用 fetch 失败,那么我返回的唯一错误详细信息是

TypeError: 获取失败

在这种情况下,如何向最终用户显示信息性错误消息?

具体来说:

是否可以获得有关提取失败原因的任何详细信息?

例如,如果服务器崩溃,Chrome DevTools 可能会记录 net:ERR_EMPTY_RESPONSE 的控制台消息,但似乎无法从 JavaScript 访问它。

据我所知,答案是否定的;我认为这是出于安全原因,以避免让恶意 JS 通过检查错误消息来发现哪些网站可以访问,哪些网站不能访问。

是否可以将 fetch 错误与其他 TypeErrors 区分开来?

如果我无法获得错误详细信息,我想至少用信息丰富的“无法访问网站;请稍后再试”消息替换非常模糊的“无法获取”消息,我会喜欢这样做,而不会为其他 TypeErrors 显示该消息。

我在这里找到的唯一解决方案是检查实际的message 以查看它是否为"Failed to fetch"。这显然是特定于浏览器的;它可以在 Chrome 中运行,它似乎可以在 Chrome 的任何用户语言中运行,其他浏览器需要自己的测试和处理。

【问题讨论】:

TypeError 似乎......真的是错误的错误类型。奇怪。 .catch 不适合你? @JaromandaX - @JaromandaX - .catch 有效,但如果可能,我想获取错误详细信息(我的第一个问题),并避免错误地将其他 TypeErrors 捕获为获取错误,我觉得我要么必须把.catch very 放在fetch 附近(这样就不会发生其他错误,从而失去了我如何构建我的承诺的灵活性)或依赖于特定于浏览器的行为,如文本获取message(我的第二个问题)。 我的意思是处理.catch 中的错误会停止输出到控制台(我认为这就是显示此错误的地方) TypeError: Failed to fetch 消息是您在 .catch 中获得的全部信息,因此您必须做一些花哨的步骤才能将其更改为有意义的消息 - .catch 可以在末尾链条,没关系 【参考方案1】:

似乎没有更多关于网络/权限/输入问题的详细信息。

是否可以将 fetch 错误与其他 TypeError 区分开来?

是的,您只需要catch 只需fetch 调用中的错误:

fetch(…)
.catch(err => new FetchError(err))
.…

class FetchError extends Error 
    constructor(orig) 
        super();
        this.message = "fetch error";
        this.details = orig;
    

【讨论】:

检查获取的 url 的协议也是值得的。在 http:// 网站上调用 https:// 可能会导致此错误 另外,检查您的4XX5XX 响应是否没有返回Access-Control-Allow-Origin: * 标头也可能是原因。

以上是关于如何处理数据库远程调用失败问题的主要内容,如果未能解决你的问题,请参考以下文章

如何处理导致不需要的组件重新安装的反应 History.Push()?

Unexpected EOF 远程主机强迫关闭了一个现有的连接 如何处理

如何处理 Kafka Connect Sink 中的背压?

Drive-API 上的“onConnectionSuspended”何时被调用,如何处理?

如何处理单个页面上的多个异步错误?

远程RPC调用实现过程