oracle报错ORA-00600: 内部错误代码, 参数: 和QT程序输出[LspTrace][tgp_lsp] ReadAccConfig returns false! 的解决办法!

今天早上运行QT代码的时候,出现了数据库连接出错,很奇怪,上次运行的时候还好好的。

报错:ORA-00600: 内部错误代码, 参数: [ksacl_ValidateAccess: !snlinGetNameInfo] 。。。。。。

因为只有127.0.0.1这个ip地址的数据库连接不上,其他数据库可以连接上,所以我就在想可能是我的本地ip地址什么的变了。

然后查看网上解决办法:

E:\app\Administrator\virtual\product\12.2.0\dbhome_1\network\admin
  •  

tnsnames.ora中的

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
  •  

改为

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 你的计算机名)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
  •  

listener.ora中的

LISTENER =
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
  •  

改为

 LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS =(PROTOCOL = TCP)(HOST =你的计算机名)(PORT = 1521))
      (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

 再去连接数据库的时候,,,,,,,,,,,,,,"主机名或ip地址":你的计算机名。

之后保存,重新启动Oracle服务。数据库连接服务得到解决。

可是之后运行QT代码的时候程序应用输出出现这样的错误:

[LspTrace][tgp_lsp] ReadAccConfig returns false!

[LspTrace]FindMatchingProvider: inInfo is one of the LSPs entry.
[LspTrace]WSPStartup end: 0, protocol=6

虽然不影响程序的运行,但是还是想知道为什么会出现这样的情况。最后发现了解决办法:

以管理员身份打开cmd    输入netsh   winsock   reset 命令。重启服务器之后发现问题被解决。

额外心得:解决连接数据库问题时,将HOST=localhost改为HOST=你的计算机名,还有额外的优点是,别人可以通过你真实的ip地址可以访问你主机的数据库,而没改之前的localhost只能是你自己通过127.0.0.1连接自己的数据库,而别人是访问不了的。

你可能感兴趣的:(qt)