Oracle中Clob类型处理解析
系统环境 xp+2.0+oracle9i
表结构(由于是测试,表结构随便建了一张) XX
字段名
类型
ID
VARCHAR2(70)
TEST
CLOB
测试
方式1:直接将CLOB的值拼写在SQL语句中。
代码:
string id = Guid.NewGuid().ToString();
OracleCommand cmd = Conn.CreateCommand();
cmd.CommandText = "insert into xx(id,test) values('" + id + "','" + data + "')";// data是一个变量,存储你要插入的字符串
cmd.ExecuteNonQuery();
情况分析:
当data的长度大于4000时报错(ORA-01704:文字字符串过长),小于或等于4000时正常插入。
原因分析:
之所以会出现长度大于4000时报错,是因为Oracle中有SQL语句中两个单引号之间的字符数不能大于4000的限制。'" + data + "' data在sql语句之间,当data的值大于4000个字节时就会报错。
解决办法:
这种方式比较棘手,但有更好的方式,下边会讲到 。
方式2:采用参数形式。
代码:
string id = Guid.NewGuid().ToString();
OracleCommand cmd = Conn.CreateCommand();
cmd.CommandText = "insert into xx(id,test) values('" + id + "',:p1)";
OracleParameter p1 = new OracleParameter("p1", OracleType.Clob);
p1.Value = data; // data是一个变量,存储你要插入的字符串
cmd.Parameters.Add(p1);
cmd.ExecuteNonQuery();
情况分析:
采用这种方式能够正常插入。所以推荐用这种方式。
原因分析:
无
解决办法:
无
方式3:采用参数形式,但是参数类型写为OracleType. NVarChar
代码:
string id = Guid.NewGuid().ToString();
OracleCommand cmd = Conn.CreateCommand();
cmd.CommandText = "insert into xx(id,test) values('" + id + "',:p1)";
OracleParameter p1 = new OracleParameter("p1", OracleType. NVarChar);
p1.Value = data; // data是一个变量,存储你要插入的字符串
cmd.Parameters.Add(p1);
cmd.ExecuteNonQuery();
情况分析:
为什么要写这种方式,因为这种方式和采用NHibernate的方式很相似,先看看在这种方式会产生什么情况。当data的字节数在0-2000之间时正常插入,大于4000时也正常插入,但在2000-4000时则失败,报错(ORA-01461:仅可以插入 LONG列的LONG值赋值)
原因分析:
没有采用对应的Oracle类型。
解决办法:
采用OracleType.Clob
下边采用NHibernate插入数据,NHibernate具体怎用不在本次讨论范围。
NHibernate采用的版本为1.2.1.4000。
下边大至把简要配置写下。
App.config
value="Data Source=Orcl_192.168.0.232;User ID =icqs_test;Password=icqs_test" /> key="hibernate.adonet.batch_size" value="100" /> xx.cs using System; using System.Collections.Generic; using System.Text; namespace Test.Enties { [Serializable] public class Xx { public Xx() { } private string id; public virtual string Id { get { return id; } set { id = value; } }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



CONNECTION_REFUSED ist ein Netzwerkverbindungsfehler, der normalerweise auftritt, wenn versucht wird, eine Verbindung zu einem Remote-Server herzustellen. Wenn ein Clientgerät versucht, eine Netzwerkverbindung mit einem Server herzustellen, und der Server die Verbindungsanforderung ablehnt, wird ein CONNECTION_REFUSED-Fehler zurückgegeben. Häufige Gründe sind: Der Server ist nicht gestartet, der Server kann keine weiteren Verbindungsanfragen annehmen, die Server-Firewall blockiert die Verbindung usw.

Lösung: 1. Überprüfen Sie die Netzwerkverbindung. 3. Überprüfen Sie den Cache und die Cookies. 4. Überprüfen Sie die Einstellungen der Firewall und der Sicherheitssoftware.

Wenn bei der Verwendung von PHP zum Herstellen einer Verbindung zu einer MySQL-Datenbank die folgende Fehlermeldung angezeigt wird: PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused, können Sie versuchen, dieses Problem zu lösen, indem Sie die folgenden Schritte ausführen. Um zu bestätigen, ob der MySQL-Dienst normal ausgeführt wird, sollten Sie zunächst prüfen, ob der MySQL-Dienst normal ausgeführt wird. Wenn der Dienst nicht ausgeführt wird oder nicht gestartet werden kann, kann dies zu einem Fehler beim Verweigern der Verbindung führen. kannst du

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Der Datenordner enthält System- und Programmdaten, wie z. B. Softwareeinstellungen und Installationspakete. Jeder Ordner im Datenordner stellt einen anderen Typ von Datenspeicherordner dar, unabhängig davon, ob sich die Datendatei auf den Dateinamen „Data“ oder die Dateierweiterung „Benannte Daten“ bezieht Es handelt sich bei allen um vom System oder Programm angepasste Datendateien. Daten sind eine Sicherungsdatei zur Datenspeicherung, die im Allgemeinen mit Meidaplayer, Notepad oder Word geöffnet werden kann.

Die Lösung für die verstümmelten MySQL-Ladedaten: 1. Suchen Sie die SQL-Anweisung mit verstümmelten Zeichen. 2. Ändern Sie die Anweisung in „LOAD DATA LOCAL INFILE „employee.txt“ INTO TABLE EMPLOYEE Zeichensatz utf8;“.

Die Unterschiede sind: 1. xdata bezieht sich normalerweise auf unabhängige Variablen, während sich data auf den gesamten Datensatz bezieht. 2. xdata wird hauptsächlich zum Erstellen von Datenanalysemodellen verwendet, während Daten normalerweise für Datenanalysen und Statistiken verwendet werden Für die Regressionsanalyse, Varianzanalyse und Vorhersagemodellierung können Daten mit verschiedenen statistischen Methoden analysiert werden. 4. xdata erfordert normalerweise eine Datenvorverarbeitung und Daten können vollständige Originaldaten enthalten.

Kurz nach der Einführung des Humane Ai Pin ergaben vernichtende Kritiken, dass das KI-Gadget alles andere als marktreif sei, da die meisten der ursprünglich beworbenen Funktionen entweder nicht richtig funktionierten oder einfach fehlten, ebenso wie die Akkulaufzeit
