为啥会出现(0x800A0E7A)错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥会出现(0x800A0E7A)错误?相关的知识,希望对你有一定的参考价值。

错误类型:
ADODB.Connection (0x800A0E7A)
未知的运行时错误
/2/第7章/Vote/index.asp, 第 5 行

<%
'Server对象的CreateObject方法建立Connection对象
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="driver=SQL Server;Database=Vote"
Conn.Open
%>
我觉得是server=Ntserver;UID=sa;PWD=sa;错误
我运行asp.net是可以数据库连接的,server=(local);uid=sa;就可以。问题补充:

<%
'Server对象的CreateObject方法建立Connection对象
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="driver=SQL Server;server=Ntserver;UID=sa;PWD=sa;Database=Vote"
Conn.Open
%>

参考技术A ADO找不到指定的提供者 ,应该是数据库连接或配置出错了本回答被提问者和网友采纳 参考技术B 请重新检查

为啥这个字符会出现分段错误?

【中文标题】为啥这个字符会出现分段错误?【英文标题】:Why do I get a segmentation fault with this char?为什么这个字符会出现分段错误? 【发布时间】:2021-09-08 16:39:01 【问题描述】:

所以我开始学习C,尝试制作一个小程序来学习结构。它要求两个“玩家”输入他们的姓名和年龄,然后将其显示回来。

当我运行它时,在输入第二个玩家的姓氏后出现分段错误。我不明白为什么。

我尝试在gdb 中运行它并收到以下消息:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7e5288c in _IO_vfscanf () from /lib/x86_64-linux-gnu/libc.so.6

这是我的代码,struct.c

#include "struct.h"
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) 
  Person player[1];
  int i = 0;

  for (i = 0; i < 2; i++) 
    printf("\n=== Player %d ===\n", i+1);
    printf("First name : ");
    scanf("%s", player[i].firstName);
    printf("Last name : ");
    scanf("%s", player[i].lastName);
    printf("Age : ");
    scanf("%d", &player[i].age);
  

  for (i = 0 ; i < 2; i++) 
    printf("\n=== Player %d ===\n", i+1);
    printf("%s %s, %d years old", player[i].firstName, player[i].lastName, player[i].age);
  

  return 0;

这是标题,struct.h

#ifndef DEF_STRUCT
#define DEF_STRUCT
#define CHAR_SIZE 100

typedef struct Person Person;
struct Person 
  char firstName[CHAR_SIZE];
  char lastName[CHAR_SIZE];
  int age; 
;

#endif

谢谢!

【问题讨论】:

当您编译代码时,您的编译器发出了哪些警告?阅读它们... Person player[1]; 生成一个大小为1 元素的数组。 Person player[1] -> Person player[2] 从不在不限制输入长度的情况下使用scanf("%s", ...);scanf("%99s", ...); 【参考方案1】:

就像人们在 cmets 中告诉我的那样,我将 Person player[1] 替换为 Person player[2]

现在可以了。

【讨论】:

我希望你明白为什么你需要这样做。 使数组足够长以分配足够的内存,对吗?

以上是关于为啥会出现(0x800A0E7A)错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥会出现纱线内存错误?

为啥会出现 NSException 错误?

为啥即使没有错误,表单也会出现错误消息?

为啥 GoogleSignInAccount 会出现此错误?

有人可以解释为啥会出现这个错误吗?

为啥删除 UITableView 行时会出现错误?