ʹÓà ADO.NET ·ÃÎÊ Oracle 9i ´æ´¢¹ý³Ì
±¾ÎÄÌÖÂÛÁËÈçºÎʹÓà ADO.NET ·ÃÎÊ Oracle ´æ´¢¹ý³Ì£¨³ÆÎª SQL ±à³Ì¿é£©ºÍº¯Êý£¨·µ»Øµ¥¸öÖµµÄ±à³Ì¿é£©¡£
Äú¿ÉÒÔʹÓÃÒÔÏÂÍйÜÊý¾ÝÌṩ³ÌÐòÁ¬½Óµ½ Oracle Êý¾Ý¿â£ºMicrosoft .NET Oracle Ìṩ³ÌÐò¡¢OLE DB .NET Ìṩ³ÌÐò¡¢ODBC .NET Êý¾ÝÌṩ³ÌÐòÒÔ¼° Oracle µÄ ODP.NET Ìṩ³ÌÐò¡£±¾ÎÄʹÓÃÓÃÓÚ Oracle µÄ Microsoft?.NET ¿ò¼ÜÊý¾ÝÌṩ³ÌÐò¡£Ê¹Óà Oracle ODP.NET Êý¾ÝÌṩ³ÌÐò»òÓÃÓÚ OLE DB µÄ Microsoft .NET ¿ò¼ÜÊý¾ÝÌṩ³ÌÐòʱ¿ÉʹÓò»Í¬µÄ¹¦ÄÜ¡£
Oracle .NET Êý¾ÝÌṩ³ÌÐòËæ .NET ¿ò¼Ü 1.1 Ò»ÆðÌṩ¡£Èç¹ûÄúʹÓõÄÊÇ .NET ¿ò¼Ü 1.0£¬Äú½«ÐèÒªÏÂÔØ .NET Managed Provider for Oracle¡£ÎÞÂÛÊÇÄĸö°æ±¾£¬Êý¾ÝÌṩ³ÌÐòÀ඼λÓÚ System.Data.OracleClient ÃüÃû¿Õ¼äÖС£
¸ÅÊö
PL/SQL ÊÇ SQL µÄ Oracle ʵÏÖ¡£ËüÓë Microsoft?SQL Server? ËùʹÓÃµÄ T-SQL ÀàËÆ£¬µ«Ò²ÓÐһЩ²»Í¬Ö®´¦£¬±¾ÎÄÉÔºó¶Ô´Ë½øÐÐÁËÏêϸÌÖÂÛ¡£Óë T-SQL Ò»Ñù£¬PL/SQL À©Õ¹Á˱ê×¼ SQL¡£PL/SQL ÓÃÓÚ¶¨ÒåÃüÃû±à³Ì¿é£¬Èç´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£
·µ»ØÒ³Ê×
Àà
¿ÉʹÓà System.Data.OracleClient ÃüÃû¿Õ¼äÖÐÀàµÄ×Ó¼¯À´Ö´ÐÐ Oracle ´æ´¢¹ý³ÌºÍº¯Êý¡£Ï±í¶ÔÕâЩÀà½øÐÐÁË˵Ã÷£º
Àà
˵Ã÷
OracleCommand
Õë¶Ô Oracle Êý¾Ý¿âÖ´ÐеĴ洢¹ý³ÌµÄ SQL Óï¾ä¡£
OracleConnection
´ò¿ªµÄÊý¾Ý¿âÁ¬½Ó¡£
OracleParameter
OracleCommand µÄ²ÎÊý£¬Ò²¿ÉÄÜÊÇËüµ½ DataColumn µÄÓ³Éä¡£
OracleParameterCollection
OracleParameter ¶ÔÏóµÄ¼¯ºÏ¡£
OracleType
Oracle Êý¾ÝÀàÐͺͽṹµÄö¾Ù¡£
·µ»ØÒ³Ê×
Ö´Ðд洢¹ý³Ì
Ö´ÐÐ Oracle ´æ´¢¹ý³ÌÓëÖ´ÐÐ SQL Server ´æ´¢¹ý³ÌÀàËÆ¡£ÏÂÃæµÄ²½Öè˵Ã÷ÁËÈçºÎÖ´ÐÐ Oracle ´æ´¢¹ý³ÌºÍ¼ìË÷Ëü·µ»ØµÄ½á¹û¡£
ÔÚ HR ¼Ü¹¹Öд´½¨Ò»¸öÃûΪ COUNT_JOB_HISTORY µÄ´æ´¢¹ý³Ì£¬ÒÔ¼ÆËã JOB_HISTORY ±íÖеļǼÊý¡£
CREATE OR new PROCEDURE COUNT_JOB_HISTORY
(
reccount OUT NUMBER
)
IS
BEGIN
SELECT COUNT(*) INTO reccount
from JOB_HISTORY;
END COUNT_JOB_HISTORY;
HR ¼Ü¹¹ÊÇĬÈÏ Oracle °²×°Öаüº¬µÄÒ»¸öʾÀý¡£
½« System.Data.OracleClient.dll£¨ÓÃÓÚ Oracle µÄ Microsoft .NET ¿ò¼ÜÊý¾ÝÌṩ³ÌÐò£©µÄÒýÓÃÌí¼Óµ½ÏîÄ¿ÖС£
ʹÓà using Ö¸Áîµ¼Èë OracleClient ÀàÖеÄÀàÐÍ¡£
using System.Data.OracleClient;
´´½¨Ò»¸ö OracleConnection ¶ÔÏó¡£
OracleConnection conn = new OracleConnection("Data Source=oracledb;
User I
Ïà¹ØÎĵµ£º
±¾ÏµÁÐÎÄÕµ¼º½
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......
±¾ÏµÁÐÎÄÕµ¼º½
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......
ÉùÃ÷£º
ÒÔϵÄÀý×Ó²»Ò»¶¨ÕýÈ·£¬Ö»ÊÇΪÁËÑÝʾ´ó¸ÅµÄÁ÷³Ì¡£
Ò»£ºÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
´æ´¢¹ý³ÌΪ£º
CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS
BEGIN
INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);
END TESTA;
È»ºóÄØ£¬ÔÚjavaÀïµ÷ÓÃʱ¾ÍÓÃÏÂÃæµÄ´ ......
Ò» ÔÚOracleÖÐÁ¬½ÓÊý¾Ý¿â
public class Test1 {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
&nbs ......