Tag: blob

当Insert工作时,如何更新BLOB列,错误ORA-00932

我无法更新BLOB字段,但Insert工作,请参阅下面的代码。 我的猜测是,它与在大量记录中存储一个BLOB值的问题有关,涉及复制大数据。 就我而言,我知道只会更新一条记录,但Oracle可能认为可能需要更新几条记录。 使用Insert时,只保证涉及1条记录,但并不总是使用Update。 现在我该如何解决这个问题? 注意:Where子句中的ArtNr字段是具有唯一索引的主键。 顺便说一下,我发现在互联网上插入BLOB有很多代码示例,但我找不到更新BLOB的代码示例。 using Oracle.DataAccess.Client;//needs reference to Oracle.DataAccess.dll using Oracle.DataAccess.Types; //OracleBlob public static bool StoreBlobImage(OracleConnection conn, string ArtNr, byte[] bImageJpg) { bool Ok = false; #if true // this is what I need, but does not work string Sql = “update MyTable set Image = :Image where ArtNr = :ArtNr”; #else […]

使用System.Data.SQLite.SQLIteDataReader.GetBlob检索BLOB字段时出错

由于我无法控制的原因,我正在创建一个.NET 2.0程序集,在其中我加载一个SQLite数据库并从中检索一些二进制数据。 具体来说,是PDF文档。 System.Data.SQLite.SQLiteDataReader.GetBlob(int i,bool ReadOnly)的文档说:(强调我的) 将列检索为System.Data.SQLite.SQLiteBlob对象。 如果查询不包含“rowid”列或其中一个别名-OR-,如果未使用System.Data.CommandBehavior创建System.Data.SQLiteDataReader,则这对于使用ROWID -OR-创建的表不起作用.KeyInfo标志。 这是我的SQLiteCommand: using (SQLiteCommand getBooklet = new SQLiteCommand($”SELECT \”rowid\”, File_Name FROM Booklets WHERE Id = {int.Parse(key)}”, dbConnection)) 我像这样实例化了我的SQLiteDataReader: using (SQLiteDataReader currentCustomerReader = getBooklet.ExecuteReader(System.Data.CommandBehavior.KeyInfo & System.Data.CommandBehavior.SequentialAccess)) 我调用GetBlob(int i,bool ReadOnly)函数如下: currentCustomerPdf = currentCustomerReader.GetBlob(1, true); 我对此表示欢迎: System.InvalidOperationException: No RowId is available at System.Data.SQLite.SQLiteBlob.Create(SQLiteDataReader dataReader, Int32 i, Boolean readOnly) at System.Data.SQLite.SQLiteDataReader.GetBlob(Int32 […]

如何将SQL Server BLOB字符串转换为System.Drawing.Image?

如何将表示为字符串的BLOB转换为System.Drawing.Image类型? 背景 我将使用c#从csv文件导入有关用户的信息及其照片。 我使用的专有SDK要求照片是System.Drawing.Image 下面是csv文件的示例。 surname firstname photo Blogs Joe 0xFFD8FFE000104A46494600010101005F005F0000FFDB0043000D090A 照片字段实际上是5k字符长,并且是在sql server db中直接导出BLOB字段值。 我们刚刚从数据库字段中取出原始值并将其导出到csv文件。 下面的代码演示了我有多远。 cvsuser变量表示csv文件的一行。 // We need to convert the photo from a string to a byte array string strPhoto = null; strPhoto = csvuser.photo; // The string that represents the BLOB byte[] bytes = new byte[strPhoto.Length * sizeof(char)]; System.Buffer.BlockCopy(strPhoto.ToCharArray(), 0, bytes, […]

是否可以将大字符串写入Firebird blob?

Firebird的文档意味着您可以将大(> 60K)字符串写入表中的blob值。 所以,如果你有这个: CREATE TABLE MyBlobTable ( theId int PRIMARY KEY NOT NULL, theBlob BLOB SUB_TYPE 1 ) 那应该工作: insert into MyBlobTable (theId, theBlob) values (1, ‘[60K characters in a string]’) (示例受http://web.firebirdsql.org/dotnetfirebird/blob-sub_type-1-reading-example-csharp.html启发) 但我发现C#驱动程序和FlameRobin都无法写入此值。 你得到’意外的命令结束’(指向字符串中大约32K的位置,这有点可疑) 我认为有一种特殊的方式来引用或转义数据值,或者可能是这个Java代码(http://www.firebirdfaq.org/faq372/)的C#等价物,其中二进制文件直接读入语句。 我没有对文本数据做任何想象,所以如果需要,我可以将它存储为二进制blob。 谢谢! 更新:“参数化查询”是我正在寻找的短语。 我在做什么: FbParameter param = new FbParameter(“@blobVal”, FbDbType.Text); param.Value = myLargeString; String query = “insert into MyBlobTable (theId, […]

Aforge Blob检测

如何从video中检测非移动Blob? 让我们考虑一下我有一个video和一个初始背景帧位图。 是否可以检测到没有移动的斑点/物体? 并在该对象周围绘制一个矩形?

从Oracle DB检索图像

所以,我正在使用web api来检索图像!! 但是,在DB处,图像是LongRaw。 我在谷歌看到我需要使用OracleDbType.Blob但是,当我尝试使用它时, public IEnumerable GetFoto(string suspid) { DataSet lretorno = new DataSet(); string connectionString = GetConnectionString(); using (OracleConnection connection = new OracleConnection()) { connection.ConnectionString = connectionString; OracleDataReader reader = null; OracleCommand cmd = new OracleCommand(); cmd.InitialLONGFetchSize = 50000; cmd.Connection = connection; cmd = new OracleCommand(“MOBILE.XAPIMANDADOMOBILE.BUSCAFOTO”, connection); cmd.CommandType = CommandType.StoredProcedure; //variáveis entrada cmd.Parameters.Add(new OracleParameter(“SUSPID”, […]

如何准备包含NText(clob)参数的ADO.NET语句

我正在更新一个现有的应用程序,它使用工厂来构建预准备语句,然后在以后执行它们,这对系统的其余部分起作用,但我的任务是添加对使用NText的语句的调用,以及我无法弄清楚如何正确地准备声明。 我得到一个运行时错误“SqlCommand.Prepare方法要求所有变量长度参数具有明确设置的非零大小。” 但我不确定长度使用什么值 强制性代码示例: SqlCommand update = new SqlCommand(“UPDATE Log.Response_File_Log ” + “SET File = @File ” + “, DateFileReceived = GETDATE() ” + “WHERE RunID = @RunID”, _connection); update.Parameters.Add(new SqlParameter(“@File”, SqlDbType.NText)); update.Parameters.Add(new SqlParameter(“@RunID”, SqlDbType.Int)); update.Prepare();

使用C#创建的映像 – 如何通过SQL将它们插入BLOB中

假设我捕获了一个屏幕截图。 有我的代码 int sWidth = 1600, sHeight = 1200; Bitmap B_M_P = Bitmap(sWidth, sHeight); Graphics gfx = Graphics.FromImage((Image)B_M_P); gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight)); B_M_P.Save(“img.jpg”, ImageFormat.Jpeg); 而不是将其保存到图像,我希望能够将其发送到我的SQL或MySQL并将它们作为BLOB存储在数据库中。 我也知道LINQ查询数据库。 我不知道的是中间部分。 什么样的Data Type将用于BLOB列中的INSERT,我的猜测是它将是一个Byte[] ? 如果是’Byte’,则转换非常简单。 ImageConverter imgc = new ImageConverter(); Byte[] temp = (byte[])imgc.ConvertTo(B_M_P,typeof(byte[])); 以便之后我可以准备我的查询 “INSERT INTO EMPLOYEE (pic) VALUES (‘”+temp+”‘);” 如果不是那么什么是类型和如何转换

如何插入BLOB数据类型

我正在使用以下代码插入blob字段: MySql.Data.MySqlClient.MySqlConnection conn; MySql.Data.MySqlClient.MySqlCommand cmd; conn = new MySql.Data.MySqlClient.MySqlConnection(); cmd = new MySql.Data.MySqlClient.MySqlCommand(); string SQL; int FileSize; byte[] rawData; FileStream fs; conn.ConnectionString = “server=192.168.1.104;uid=root;” + “pwd=root;database=cady234;”; fs = new FileStream(@”d:\Untitled.gif”, FileMode.Open, FileAccess.Read); FileSize = (int)fs.Length; rawData = new byte[FileSize]; fs.Read(rawData, 0, FileSize); fs.Close(); conn.Open(); string strFileName = “test name”; SQL = “INSERT INTO file (file_name, […]

在mysql中存储pdf

你如何在mysql的字段中存储PDF文档? 目前,我有一个客户列表,每个客户都有一个证书,其中包含有关其帐户的信息,可以提供给其他公司以certificate他们是我们的客户。 目前,他们的证书以pdf格式导出并通过电子邮件发送给在这里工作的人(客户也获得了物理副本),并且该人的邮箱中充满了这些电子邮件。 我更喜欢将它放在客户的记录中 – 允许通过我们内部CRM中的客户文件访问它。 我考虑将PDF放在一个文件夹中,并将其位置作为varchar存储在客户的记录中,但是如果PDF被移动/删除/等等。 然后我们上了一条小溪。 我的理解是,blob或mediumblob是我用来存储它的字段类型,但我在这方面有点无知。 我不确定如何在字段中存储类似的东西(c#datatype提供它),然后如何获取它并通过pdf阅读器打开它。