数据库本地连接失败,错误代码18456怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库本地连接失败,错误代码18456怎么解决?相关的知识,希望对你有一定的参考价值。

本地windows身份验证连接不上

数据库连接错误代码为18456,为登陆身份验证错误,具体解决方案有以下三项:
1、如果尝试使用 SQL Server 身份验证进行连接,请验证是否将 SQL Server 配置为使用混合身份验证模式。

2、如果尝试使用 SQL Server 身份验证进行连接,请验证 SQL Server 登录名是否存在以及拼写是否正确。

3、如果尝试使用 Windows 身份验证进行连接,请验证您是否正确地登录到相应的域。
参考技术A http://www.soaspx.com/dotnet/sql/mssql/sql2000/sqlserver2000_20110602_7709.html参考这个网页上面写的试试阿兵 参考技术B 你是用什么操作系统?

Jetty Websocket 服务器在本地工作,但远程连接失败并出现“主机已关闭”错误,如何解决?

【中文标题】Jetty Websocket 服务器在本地工作,但远程连接失败并出现“主机已关闭”错误,如何解决?【英文标题】:Jetty Websocket server is working locally, but remote connections fail with "Host is down" error, how to fix it? 【发布时间】:2016-02-01 19:19:21 【问题描述】:

我正在使用嵌入式 Jetty 运行 websocket 服务器。

当我从同一台机器 (localhost) 建立连接时,它按预期工作,但是当我尝试从另一台机器连接时,我收到错误“主机已关闭”(也称为EHOSTDOWN)。

日志说 Jetty 正在侦听 0.0.0.0 地址,因此它应该接受来自任何地方的连接,并且所有协议都允许在 ufw 中使用端口(在本例中为 12345)。我还尝试暂时禁用ufw,但没有效果。

这是我的代码(这是一个简单的 websocket echo-server,我已经删除了所有不相关的内容):

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.websocket.api.WebSocketAdapter;
import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import java.io.IOException;

public class EchoServerLauncher 
    static final int PORT = 12345;

    public static void main(String[] args) 
        startServer(PORT);
    
    private static void startServer(final int port) 
        new EchoServer(port).startAndJoin();
    


class EchoServer extends WebsocketServerBase 
    static final String PATH = "/hello/";

    public EchoServer(final int port) 
        super(port);
    
    void startAndJoin() 
        super.startAndJoinWithServlet(new EchoServlet(), PATH);
    


class EchoServlet extends WebSocketServlet 
    @Override
    public void configure(final WebSocketServletFactory factory) 
        factory.setCreator((req, resp) -> new EchoSocketAdapter());
    


class EchoSocketAdapter extends WebSocketAdapter 
    @Override
    public void onWebSocketText(final String message) 
        super.onWebSocketText(message);
        if (message == null) return;
        try 
            getSession().getRemote().sendString(message);
         catch (IOException e) 
            throw new RuntimeException(e);
        
    


class WebsocketServerBase 
    private final int port;

    public WebsocketServerBase(int port) 
        this.port = port;
    
    void startAndJoinWithServlet(WebSocketServlet servlet, String path) 
        final Server server = new Server();
        final ServerConnector connector = new ServerConnector(server);
        connector.setPort(this.port);

        server.addConnector(connector);

        final ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
        contextHandler.setContextPath("/");

        server.setHandler(contextHandler);

        final ServletHolder servletHolder = new ServletHolder(servlet.getClass().getSimpleName(), servlet);
        contextHandler.addServlet(servletHolder, path);

        try 
            server.start();
            server.dump(System.err);
            server.join();
         catch (Exception e) 
            e.printStackTrace(System.err);
        
    

那么,什么可能导致这样的问题?我什至不知道还有什么可以尝试的……

【问题讨论】:

您的代码在这里运行良好。看到你用ubuntu-14.04 标记了这个,你是否允许端口 12345 (tcp) 通过你的防火墙? 是的,正如我在问题中所说,我允许它。 (通过运行ufw allow 12345),之后还尝试重新启动——没有任何改变。好吧,我的意思是,我什至在尝试之前就打开了端口。但是完全禁用 ufw 并没有改变任何东西。 我使用的是 Fedora 23,一旦服务器运行,我就可以使用另一台机器上的 websocket.org/echo.html 通过 ws://myremote:12345/hello/ 连接回 websocket EchoSocketAdapter 并测试回显行为很好。 “主机已关闭”消息指出这两台机器之间存在更基本的网络问题。您甚至可以从目标服务器获得 ping 响应吗?你可以从测试机器访问服务器机器上的任何其他服务吗? @JoakimErdfelt 是的,我很确定问题也不在于代码。这可能是操作系统中的一些错误配置。不好的是我不知道去哪里找。我在那台机器上运行了其他软件,没有这样的问题。 【参考方案1】:

这是我的愚蠢,我忘记在我的客户端路由器上允许该端口。 (太糟糕了,我无法删除关闭问题)。

【讨论】:

以上是关于数据库本地连接失败,错误代码18456怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft SQL Server,错误: 18456

sqlserver 错误18456

软件连接数据库ORA-12170:TNS错误

为啥ORACLE本地数据库连接提示ORA-12514错误?

SQL Server 2008 R2 Performance Studio - 数据收集工作但查看报告抛出“连接失败...”18456 错误

ASP.NET连接数据库时出现如下错误,该怎么办?