Name Error: The domain name does not exist 解决

本文介绍在使用Chrome浏览器并配置公司代理访问国外网站时,如何解决本地hosts文件中域名解析失效的问题。通过调整switchyOmega设置,采用autoswitch模式,并正确配置本地域名,确保域名解析正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

先说一下我的问题原因&解决

我使用Chrome时候用公司代理访问国外Google等网站。我用的switchomega 。直接使用了代理proxy而不是auto switch

导致我本地hosts配置的域名解析也走了代理。从而找不到我配置的主机名。

解决:使用auto  switch 这个代理模式,访问本地的域名时添加为直接连接就不会出现这个问题了。

 

正常添加本地域名需要修改C:\Windows\System32\drivers\etc   下面的hosts文件。改完之后访问的效果跟你浏览器输入

127.0.0.1的呈现结果是一样的。  比如  127.0.0.1       www.zy.com   你添加这一行。

你在浏览器输入www.zy.com   就会自动解析到127.0.0.1  的80端口。

而可能会出现如标题的问题。解析不出来结果。

解决办法

首先  win+R   cmd  把控制台打出来   ping  www.zy.com   看能否ping 通、

如果能ping通但是解析不出来  那么执行 ipconfig /flushdns 刷新一下 系统的dns 缓存、

如果还是不可以。那么看一下你是否开了代理。 我是开了Google的 switchyOmega 转发到代理服务器。

这样就解析不出来了。  具体原因自行Google 。   将代理关掉就好用了。 

 

我是代理的问题导致的域名解析错误。

使用switchyOmega的时候使用auto switch 就好了。也就是使用下面这个。而不是直接跑你的代理。

 

比如你在proxy配置了你的代理服务器用来访问外网。那么使用switchyOmega的时候下面这个代理的圈选auto switch 然后访问每个网站选添加条件来指定是直接代理还是走你的proxy代理。  走proxy 外网服务器代理的话是没法解析你的本地域名的。

### 解决 PostgreSQL 函数 `IFRS9_ETL.FN_PRESTAGE_DECOSION` 不存在的错误 #### 错误分析 在 PostgreSQL 中遇到 “function does not exist” 的错误通常是由于以下几个原因之一引起的: 1. **函数未定义**:目标模式(schema)中确实不存在该名称和参数签名匹配的函数。 2. **参数不匹配**:即使函数已定义,但如果调用时传递的参数类型与函数声明中的参数类型不符,PostgreSQL 也会认为这是一个不同的函数[^1]。 3. **隐式类型转换失败**:某些情况下,虽然提供了看似兼容的输入值,但由于缺乏自动类型转换路径,仍会导致此问题发生。 针对您提到的情况——`IFRS9_ETL.FN_PRESTAGE_DECOSION` 报错以及涉及到整数 (`integer`) 和文本 (`text`) 参数的情形,以下是具体解决方案: --- #### 方案一:确认函数是否存在及其确切签名字典视图查询 通过系统目录查看指定 schema 下是否有对应的函数定义。可以运行如下 SQL 查找相关信息: ```sql SELECT proname, oidvectortypes(proargtypes) AS signature FROM pg_proc p JOIN pg_namespace n ON (p.pronamespace = n.oid) WHERE n.nspname = 'ifrs9_etl' AND lower(proname) LIKE '%fn_prestage_decision%'; ``` 这条语句返回的结果将展示所有符合条件的方法名连同它们接受的具体参数组合形式。假如没有任何记录被找到,则说明当前环境中尚未部署所需的逻辑单元;反之则可以根据得到的信息调整后续操作策略[^2]。 --- #### 方案二:验证传参一致性并实施必要转型措施 假设已经核实过目标实体确实存在但仍遭遇异常提示,那很可能是实际提交给它的变量类别未能满足预期需求所致。此时需仔细对比双方差异,并采取适当手段予以修正。例如,如果原形期望接收数值却收到字符串表示法下的数字序列,就应当执行显式的强制转变过程: ```sql -- Example of explicit casting from text to integer SELECT IFRS9_ETL.FN_PRESTAGE_DECOSION(CAST('42' AS INTEGER), other_param); ``` 这里借助了 CAST() 构造器完成从 string 至 numeric domain 的过渡动作[^3]。当然也可以采用另一种简洁写法即 :: 运算符达成相同效果: ```sql -- Alternative shorthand notation for typecasting SELECT IFRS9_ETL.FN_PRESTAGE_DECOSION('42'::INTEGER, another_value); ``` 另外值得注意的一点在于,有时候即便表面上看两者具备相似特征但实际上内部实现细节决定了他们并不完全一致。比如 BIGINT vs INT 或 REAL vs DOUBLE PRECISION 等情况均有可能引发类似的困惑现象。所以务必参照官方文档详细了解各基础数据类型的范围边界及相互关系以便做出精准判断[^4]。 --- #### 方案三:创建适配版本的新函数覆盖旧接口行为 倘若既定 API 设计不允许随意更改原有规格又迫切希望支持更多样化的应用场景,那么不妨考虑新增重载选项作为补充途径之一。下面给出一个简单示范诠释如何基于已有核心算法扩展额外一层封装层以适应不同种类别的客户请求: ```plpgsql CREATE OR REPLACE FUNCTION IFRS9_ETL.FN_PRESTAGE_DECISION_TEXT( input_text TEXT, additional_params ANYELEMENT... ) RETURNS ... LANGUAGE plpgsql IMMUTABLE STRICT AS $$ DECLARE BEGIN RETURN IFRS9_ETL.FN_PRESTAGE_DECISION(input_text::INTEGER, additional_params...); -- Internal call after conversion END; $$; ``` 在此基础上,未来无论前端送来何种形态的数据包都能够顺利映射至对应处理流程之中而不至于轻易触发 runtime failure condition anymore[^5]. --- ### 总结建议 综上所述,解决此类问题的关键在于准确识别根本原因所在并通过合理的技术手段加以应对。无论是完善前期准备工作还是灵活运用现有工具都能显著提升工作效率同时减少潜在隐患的发生几率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值