¶ÔoracleÖеÄBLOBµÄ²Ù×÷(¶ÁÈ¡£¬Ð´Èë)
½«BLOB±£´æÎª±¾µØÎĵµ£º
/// <summary>
/// ¶Á³öBlob×Ö¶Î
/// </summary>
/// <param name="commandText">sqlÓï¾ä£¬Ö´Ðнá¹ûΪBLOBÊý¾Ý</param>
/// <param name="DocumentAddress">½«Òª°ÑBLOBÊý¾Ý±£´æÎªµÄÎĵµµÄ·¾¶</param>
public void ReadBlob(string commandText, string DocumentAddress)
{
try
{
Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = commandText;
// ÀûÓÃÊÂÎñ´¦Àí£¨±ØÐ룩
OracleTransaction transaction = cmd.Connection.BeginTransaction();
cmd.Transaction = transaction;
reader = cmd.ExecuteReader();
reader.Read();
OracleLob BLOB = reader.GetOracleLob(0);
reader.Close();
FileStream DataStream = new FileStream(DocumentAddress, FileMode.Create);
int length = 30485760;
byte[] Buffer = new byte[length];
int i;
while ((i = BLOB.Read(Buffer, 0, length)) > 0)
{
DataStream.Write(Buffer, 0, i);
}
DataStream.Close();
BLOB.Clone();
cmd.Transaction.Commit();
}
catch (OracleException e)
{
cmd.Transaction.Rollback();
throw e;
}
finally
{
Close();
}
}
½«±¾µØÎĵµ±£´æÎªBLOBÀàÐÍ£º
/// <summary>
/// дÈëBlob×Ö¶Î
/// </summary>
/// <param name="commandText">sqlÓï¾ä£¬Ö´Ðнá¹ûΪBLOBÊý¾Ý</param>
/// <param name="DocumentAddress">±¾µØÎĵµµÄ·¾¶</param>
public void WriteBlob(string commandText, string DocumentAddress
Ïà¹ØÎĵµ£º
1. ×¼±¸ÖªÊ¶£ºORACLEµÄÂß¼´æ´¢¹ÜÀí.
ORACLEÔÚÂß¼´æ´¢ÉÏ·Ö4¸öÁ£¶È:±í¿Õ¼ä,¶Î,ÇøºÍ¿é.
1.1 ¿é:ÊÇÁ£¶È×îСµÄ´æ´¢µ¥Î»,ÏÖÔÚ±ê×¼µÄ¿é´óСÊÇ8K,ORACLEÿһ´ÎI/O²Ù×÷Ò²Êǰ´¿éÀ´²Ù×÷µÄ,Ò²¾ÍÊÇ˵µ±ORACLE´ÓÊý¾ÝÎļþ¶ÁÊý¾Ýʱ,ÊǶÁÈ¡¶àÉÙ¸ö¿é,¶ø²»ÊǶàÉÙÐÐ.
1.2 Çø:ÓÉһϵÁÐÏàÁÚµÄ¿é¶ø×é³É,ÕâÒ²ÊÇORACLE¿Õ¼ä·ÖÅäµÄ»ù±¾µ¥Î»,¾Ù¸ö ......
ǰÑÔ
ÿһ¸öDBAÔÚ½øÐÐÊý¾Ý¿â¹ÜÀíµÄ¹ý³ÌÖв»¿É±ÜÃâµÄÒªÓöµ½ÐÎÐÎɫɫµÄ´íÎó(ORA-1547 ,ORA-904,ORA-1578 ......)¡£ÓÐЩ´íÎóÓÉÓÚÆµ·±³öÏÖ¡¢ÔÒò¸´ÔÓ¶ø±» Oracle DBA ÃÇÏ·³ÆÖ®Îª"¾µäµÄ´íÎó"¡£ÆäÖÐORA-3113 "end of file on communication channel" ¾ÍÊÇÕâÑùµÄÒ»¸ö¡£
ÎÒÃÇ¿ÉÒÔ¼òµ¥µÄ°ÑÕâ¸ö´íÎóÀí½âΪOracle¿Í»§¶Ë½ø³ÌºÍÊý¾Ý¿ ......
# LISTENER.ORA Network Configuration File: /opt/oracle/product/9.2/network/admin/listener.ora
# Generated by Oracle configuration tools.
ORA92 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS ......
Sql´úÂë
1.
´ÓÓαêÌáÈ¡Êý¾Ý
2. ´ÓÓαêʧȥһÆðÊý¾ÝÔËÓÃFETCHÏÂÁÿһ´ÎÌáÈ¡Êý¾Ýºó£¬Óα궼ָÏò½á¹û¼¯µÄÏÂÒ»Æð¡£Óï·¨Èç´Î£º
3. FETCH cursor_name INTO variable[,variable,...]
4. ÖÁÓÚSELECT¶¨ÒåµÄÓαêµÄÿһÁУ¬FETCH±äÁ¿ÁÐ±í¶¼Ó¦¸ÃÓÐÒ»¸ö±äÁ¿ÓëÖ®Ïà¶ÔÓ¦£¬±äÁ¿µÄ²¿ÀàÒ²ÒªÀ×ͬ¡£
Àý£º
5. SET SERVERIUTPUT ......