关于ACCESS数据库插入或更新数据的溢出问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ACCESS数据库插入或更新数据的溢出问题相关的知识,希望对你有一定的参考价值。
有时候在插入数据到数据库的时候会提示如下错误:[Microsoft][ODBC Microsoft Access Driver]非法的字符串或缓冲区长度.比如一个留言功能,上午的时候都是好好的能够输入中文,下午再输入的时候就不行了,更新数据或者插入数据时就会出现错误,而且以前显示是好的中文也会变成乱码,这个问题很烦啊,哪位大侠帮我解答下啊~100分送上~!!急!!!ACCESS数据库的类型都正确的啊,
原系统在SQLSERVER数据库下无任何问题,转换成ACCESS数据库后,操作其中一个表Client,这个表有3W多条记录,语句如下:public DataSet getClient(string SearchStr)
try
string SqlStr="Select * from Client where ClientName like '%"+SearchStr+"%'";
OleDbDataAdapter OleDbCommand=new OleDbDataAdapter(SqlStr,Conn());
DataSet TempData=new DataSet();
OleDbCommand.Fill(TempData,"Client");
return TempData;
catch(Exception ex)
throw ex;
参考技术A Access中Text类型的长度只有255,也就说你超过255个长度后就报错。一条留言有时候肯定超过255的,只有122.5个汉字,只能写122个汉字以内的 参考技术B 怕溢出的话就用字符串
Redshift 复制命令追加、替换或更新插入?
【中文标题】Redshift 复制命令追加、替换或更新插入?【英文标题】:Redshift copy command append, replace or upsert? 【发布时间】:2018-11-29 06:58:57 【问题描述】:假设我对现有数据所在的表运行 Redshift COPY 命令。然后执行命令:
-
将数据追加到现有表中?
擦除现有数据并添加新数据?
插入数据。即,如果表中存在具有相同主键的数据,则更新,否则插入
【问题讨论】:
【参考方案1】:COPY
命令总是将数据附加到表中。
【讨论】:
【参考方案2】:为了使用“复制”命令在 Redshift 中有效地进行 upsert,您需要首先将数据(从您的副本)加载到临时表,然后在 redshift 上运行一些 sql 来处理这些数据。
AWS 在此处记录了一种方法https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html
【讨论】:
以上是关于关于ACCESS数据库插入或更新数据的溢出问题的主要内容,如果未能解决你的问题,请参考以下文章
用 Python 在 MS Access 数据库中插入或更新行
关于数据库更新/插入速率限制的一些查询(基于 SQL 或基于 NoSQL)