C#ÔÚ64λ²Ù×÷ϵͳÉÏÁ¬½ÓOracleµÄÎÊÌâºÍ½â¾ö·½°¸
C#ʹÓÃSystem.Data.OracleClientÁ¬½ÓOracleÊý¾Ý¿â¡£Ö®Ç°ÔÚWinXPÉÏÕý³£ÔËÐеijÌÐòÒÆÖ²µ½ Windows 2008 x64ÉÏÖ®ºó¾ÍÁ¬²»ÉÏÊý¾Ý¿âÁË£¬´íÎóÐÅÏ¢ÈçÏ£º
³¢ÊÔ¼ÓÔØ Oracle¿Í»§¶Ë¿âʱÒý·¢BadImageFomatException¡£Èç¹ûÔÚ°²×°32λOracle¿Í»§¶Ë×é¼þµÄÇé¿öÏÂÒÔ64λģʽÔËÐУ¬½«³öÏÖ´ËÎÊÌâ¡£
´íÎóÔÒòÊÇÔÀ´WinXP»ú×ÓÉÏËù°²×°µÄOracleInstantClientÊÇ32룬ËùÒÔ±àÒëµÄ³ÌÐòËùÓÃµÄ OracleClientÒ²ÊÇ32λµÄ£¬´Ó¶øµ¼Ö¼æÈÝÎÊÌâ¡£µ±È»£¬Èç¹ûÔÚ64λ²Ù×÷ϵͳÉÏÖØÐ°²×°64λµÄOracle¿Í»§¶ËÔÙÖØÐ±àÒë³ÌÐòÒ²ÊÇÄܽâ¾öÎÊÌâµÄ¡£ÕâÀïÎÒÃǽéÉÜÒ»ÖÖ¼òµ¥µÄ·½·¨À´ÒÆÖ²³ÌÐò¡£
ʵ¼ÊÉÏ£¬System.Data.OracleClientËùÖ¸ÏòµÄÊÇPATH»·¾³±äÁ¿ÏµÄoci.dll¡£Òò´Ë£¬ÎÒÃÇÖ»ÒªÈóÌÐòÄܹ»ÕÒµ½64λµÄoci.dll¾Í¿ÉÒÔÁË¡£·½·¨ÈçÏ£º
1. ÏÂÔØinstantclient-basic-win-x86-64-11.1.0.7.0.zip£¬²¢½âѹ£¬Èç C:\instantclient-basic-win-x86-64-11.1¡£
2. ÔÚϵͳµÄ»·¾³±äÁ¿PATHÖмÓÈëÒÔÉÏ·¾¶¡£
Ö®ºóÔÙÔËÐгÌÐò£¬³ÌÐò»áÒÀÕÕPATH·¾¶Ñ°ÕÒoci.dll£¬Èç¹ûÓöµ½32λµÄoci.dll»á×Ô¶¯ÂÔ¹ý£¬ÕÒµ½64λµÄoci.dll¾ÍÄÜÁ¬½ÓÉÏÊý¾Ý¿âÁË¡£
½â¾ö¹ý³ÌÖвο¼ÁËJeffreyµÄ²©ÎÄ£¬http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/10/19/system-data-oracleclient-requires-oracle-client-software-version-8-1-7.aspx£¬Ò»²¢±íʾ¸Ðл¡£
Ïà¹ØÎĵµ£º
³£¼ûºǫ́½ø³Ì°üÀ¨:
• Êý¾Ý¿âд½ø³Ì (DBWn):½«Êý¾Ý¿â»º³åÇø¸ßËÙ»º´æÖеľ¹ýÐ޸ĵĻº³åÇø(»ÒÊý¾Ý»º ³åÇø)ÒÔÒì²½·½Ê½Ð´Èë´ÅÅÌ
• ÈÕ־д½ø³Ì (LGWR):½«ÈÕÖ¾»º³åÇøÖгÆÎªÖØ×öÐÅÏ¢µÄ»Ö¸´ÐÅϢдÈë´ÅÅÌÉϵÄÖØ×öÈÕ Ö¾Îļþ
• ¼ì²éµã½ø³Ì (CKPT):ÔÚ¿ØÖÆÎļþºÍÿ¸öÊý¾ÝÎļþÍ·ÖмǼ¼ì²éµãÐÅÏ¢
• ϵͳ¼àÊÓÆ÷½ø³ ......
using System.Security.Cryptography;
using System.IO;
using System.text;
/// <summary>
/// ¼ÓÃÜ
/// </summary>
/// <param name="str"> ......
package DBbean;
import java.sql.*;
public class ConnBean
{
private Connection con;
//³õʼ»¯Á¬½Ó¡£
public ConnBean()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
......
Update SQLS will lead dead lock exception. Because by default, it use optimistic lock but not pessimistic lock.
Below description is exceprted from the attachment(It exceeds my image that this blog can not upload the attachment,hehe)
Optimistic locking offers an elegant solution to the problems o ......
36.ADD_MONTHS
¡¡¡¡Ôö¼Ó»ò¼õÈ¥Ô·Ý
¡¡¡¡SQL> select to_char(add_months(to_date(199912,yyyymm),2),yyyymm) from dual;
¡¡¡¡TO_CHA
¡¡¡¡------
¡¡¡¡200002
¡¡¡¡SQL> select to_char(add_months(to_date(199912,yyyymm),-2),yyyymm) from dual;
¡¡¡¡TO_CHA
¡¡¡¡------
¡¡¡¡199910
¡¡¡¡37.LAST_DAY
¡¡¡¡·µ» ......