我在附加数据库时出现这示一个对话框提示:Micrsoft sql_dmo(odbc sqlstate:HY000)错误:823

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在附加数据库时出现这示一个对话框提示:Micrsoft sql_dmo(odbc sqlstate:HY000)错误:823相关的知识,希望对你有一定的参考价值。

参考技术A 错误 823
严重级别 24
消息正文
在文件 ''%4!'' 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释
Microsoft® SQL Server™ 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。

对策
检查该设备的可访问性和状态。

如果可能,执行硬件诊断并纠正问题。

从最新的数据库备份还原损坏的文件。从数据库备份中还原应始终是修复已损坏数据库的首选方法。

如果没有备份或者检测到的错误是孤立的,则 DBCC CHECKDB 的修复功能可能很有用。然而,比起从备份中还原损坏的文件,可能使用 DBCC CHECKDB 消耗的时间更多,且可能无法恢复全部数据。本回答被提问者采纳

附加 DataFrame 时出现“数据类型不理解”

【中文标题】附加 DataFrame 时出现“数据类型不理解”【英文标题】:"data type not understood" when appending DataFrames 【发布时间】:2018-03-28 15:42:46 【问题描述】:

所以我从一个空白 DataFrame 开始,根据表名列表从 SQL 语句中提取一堆新的 dataFrame,然后将每个附加到起始 dataFrame。 例如:

df1 = pd.DataFrame()
for name in tableslist:
    perT = pd.read_sql_query("SELECT FROM myschema.0 WHERE username = '1'.format(name,user),engine)
    df1 = df1.append(perT)

在终端中返回错误:data type not understood。我很肯定它是由附加行引起的(我已经检查了打印语句)。是什么原因造成的? perT 可能是一个没有行的表。这是一个问题吗?我已经尝试打印出每个表的头部,但仍然无法确定导致该错误/失败的原因。

【问题讨论】:

您确定您的查询符合您的预期吗?尝试单独运行它们。 尝试单独运行mysql查询,收集查询输出一个文本/csv文件,然后添加到df。这可能有助于查明问题。 【参考方案1】:

我发现对于旧版本的 pandas,当数据框中存在日期字段(特别是 datetime64 变体)时,可能会发生这种情况。在过去,我使用了许多解决方法(见下文),如果不查看数据,很难确切知道什么可以帮助您。

    将所有日期字段转换为 pandas 时间戳 (df[col_name].apply(pd.Timestamp))。 将所有日期字段转换为字符串 (df[col_name].astype(str))。

    您的初始数据框是一个空数据框。不要尝试将非空数据帧附加到空数据帧,而是将初始数据帧设置为等于第一个非空数据帧,然后继续附加。

    if df1.empty:
        df1 = perT
    else:
        df1 = df1.append(perT)
    

    升级熊猫 :)

【讨论】:

我执行了第 3 步和第 4 步。我相信错误来自尝试附加空数据帧(要么是完整的要么是完整的附加到空的)!非常感谢

以上是关于我在附加数据库时出现这示一个对话框提示:Micrsoft sql_dmo(odbc sqlstate:HY000)错误:823的主要内容,如果未能解决你的问题,请参考以下文章

在visual studio中设置流程标题附加到流程c#

SQL高版本向低版本附加数据库时出现的问题

打开Excel时提示“向程序发送命令时出现问题”

在Ubuntu中使用qt编opencv的程序时出现这怎么办啊?

DELL 笔记本02Micrs ccID sc Reader是啥驱动

winxp系统安装jdk1.8,安装时出现对话框:"jdk1.8提示需要更新的系统,但是可以继续安