´ó²¿·ÖÈ˶¼ÖªµÀÓÃoledbÀ´¶ÁÈ¡Êý¾Ýµ½dataset£¬µ«ÊǶÁÈ¡Ö®ºóÔõô´¦Àídataset¾ÍǧÆæ°Ù¹ÖÁË¡£ºÜ¶àÈËͨ¹ýÑ»·À´Æ´½Ósql£¬ÕâÑù×ö²»µ«ÈÝÒ׳ö´í¶øÇÒЧÂʵÍÏ£¬System.Data.SqlClient.SqlBulkCopy ¶ÔÓÚÐÂÊÖÀ´Ëµ»¹ÊDZȽÏÄ°ÉúµÄ£¬Õâ¸ö¾ÍÊÇ´«ËµÖÐЧÂʼ«¸ßµÄbcp£¬6Íò¶àÊý¾Ý´Óexcelµ¼Èëµ½sqlÖ»ÐèÒª4.5Ãë¡£
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
&nb ......
1. ΪºÎʹÓÃÓα꣺
ʹÓÃÓαê(cursor)µÄÒ»¸öÖ÷ÒªµÄÔÒò¾ÍÊǰѼ¯ºÏ²Ù×÷ת»»³Éµ¥¸ö¼Ç¼´¦Àí·½Ê½¡£ÓÃSQLÓïÑÔ´ÓÊý¾Ý¿âÖмìË÷Êý¾Ýºó£¬½á¹û·ÅÔÚÄÚ´æµÄÒ»¿éÇøÓòÖУ¬ÇÒ½á¹û
ÍùÍùÊÇÒ»¸öº¬Óжà¸ö¼Ç¼µÄ¼¯ºÏ¡£Óαê»úÖÆÔÊÐíÓû§ÔÚSQL serverÄÚÖðÐеطÃÎÊÕâЩ¼Ç¼£¬°´ÕÕÓû§×Ô¼ºµÄÒâÔ¸À´ÏÔʾºÍ´¦ÀíÕâЩ¼Ç¼¡£
2. ÈçºÎʹÓÃÓα꣺
Ò»°ãµØ£¬Ê¹ÓÃÓα궼×ñÑÏÂÁеij£¹æ²½Ö裺
(1) ÉùÃ÷Óαꡣ°ÑÓαêÓëT-SQLÓï¾äµÄ½á¹û¼¯ÁªÏµÆðÀ´¡£
(2) ´ò¿ªÓαꡣ
(3) ʹÓÃÓαê²Ù×÷Êý¾Ý¡£
(4) ¹Ø±ÕÓαꡣ
2.1. ÉùÃ÷Óαê
DECLARE CURSORÓï¾äSQL-92±ê×¼Óï·¨¸ñʽ£º
DECLARE ÓαêÃû [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR sql-statement
Eg:
Declare MycrsrVar Cursor
FOR Select * from tbMyData
2.2 ´ò¿ªÓαê
OPEN MycrsrVar
µ±Óα걻´ò¿ªÊ±£¬ÐÐÖ¸Õ뽫ָÏò¸ÃÓα꼯µÚ1ÐÐ֮ǰ£¬Èç¹ûÒª¶ÁÈ¡Óα꼯ÖеĵÚ1ÐÐÊý¾Ý£¬±ØÐëÒƶ¯ÐÐÖ¸ÕëʹÆäÖ¸ÏòµÚ1ÐС£¾Í±¾Àý¶øÑÔ£¬¿ÉÒÔʹÓÃÏÂÁвÙ×÷¶ÁÈ¡µÚ1ÐÐÊý¾Ý£ ......
ʲôÊÇ´æ´¢¹ý³ÌÄØ£¿
¡¡¡¡¶¨Ò壺
¡¡¡¡½«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´, ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ,Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî¡£
¡¡¡¡½²µ½ÕâÀï,¿ÉÄÜÓÐÈËÒªÎÊ£ºÕâô˵´æ´¢¹ý³Ì¾ÍÊÇÒ»¶ÑSQLÓï¾ä¶øÒÑ°¡£¿
¡¡¡¡Microsoft¹«Ë¾ÎªÊ²Ã´»¹ÒªÌí¼ÓÕâ¸ö¼¼ÊõÄØ?
¡¡¡¡ÄÇô´æ´¢¹ý³ÌÓëÒ»°ãµÄSQLÓï¾äÓÐʲôÇø±ðÄØ?
¡¡¡¡´æ´¢¹ý³ÌµÄÓŵ㣺
¡¡¡¡1.´æ´¢¹ý³ÌÖ»ÔÚ´´Ôìʱ½øÐбàÒ룬ÒÔºóÿ´ÎÖ´Ðд洢¹ý³Ì¶¼²»ÐèÔÙÖØбàÒ룬¶øÒ»°ãSQLÓï¾äÿִÐÐÒ»´Î¾Í±àÒëÒ»´Î,ËùÒÔʹÓô洢¹ý³Ì¿ÉÌá¸ßÊý¾Ý¿âÖ´ÐÐËٶȡ£
¡¡¡¡2.µ±¶ÔÊý¾Ý¿â½øÐи´ÔÓ²Ù×÷ʱ(Èç¶Ô¶à¸ö±í½øÐÐUpdate,Insert,Query,Deleteʱ£©£¬¿É½«´Ë¸´ÔÓ²Ù×÷Óô洢¹ý³Ì·â×°ÆðÀ´ÓëÊý¾Ý¿âÌṩµÄÊÂÎñ´¦Àí½áºÏÒ»ÆðʹÓá£
¡¡¡¡3.´æ´¢¹ý³Ì¿ÉÒÔÖظ´Ê¹ÓÃ,¿É¼õÉÙÊý¾Ý¿â¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿
¡¡¡¡4.°²È«ÐÔ¸ß,¿ÉÉ趨ֻÓÐij´ËÓû§²Å¾ßÓжÔÖ¸¶¨´æ´¢¹ý³ÌµÄʹÓÃȨ
¡¡¡¡´æ´¢¹ý³ÌµÄÖÖÀࣺ
¡¡¡¡1.ϵͳ´æ´¢¹ý³Ì£ºÒÔsp_¿ªÍ·,ÓÃÀ´½øÐÐϵͳµÄ¸÷ÏîÉ趨.È¡µÃÐÅÏ¢.Ïà¹Ø¹ÜÀí¹¤×÷,Èç sp_help¾ÍÊÇÈ¡µÃÖ¸¶¨¶ÔÏóµÄÏà¹ØÐÅÏ¢
¡¡¡¡2.À©Õ¹´æ´¢¹ý³Ì ÒÔXP_¿ªÍ·,ÓÃÀ´µ÷ÓòÙ×÷ϵͳÌṩµÄ¹¦ÄÜ
¡¡¡¡exec ......
Óα꣨Cursor£©ÊÇ´¦ÀíÊý¾ÝµÄÒ»ÖÖ·½·¨£¬ÎªÁ˲鿴»òÕß´¦Àí½á¹û¼¯ÖеÄÊý¾Ý£¬ÓαêÌṩÁËÔÚ½á¹û¼¯ÖÐÒ»´ÎÒÔÐлòÕ߶àÐÐÇ°½ø»òÏòºóä¯ÀÀÊý¾ÝµÄÄÜÁ¦¡£ÎÒÃÇ¿ÉÒÔ°ÑÓα굱×÷Ò»¸öÖ¸Õ룬Ëü¿ÉÒÔÖ¸¶¨½á¹ûÖеÄÈκÎλÖã¬È»ºóÔÊÐíÓû§¶ÔÖ¸¶¨Î»ÖõÄÊý¾Ý½øÐд¦Àí¡£
1.ÓαêµÄ×é³É
Óαê°üº¬Á½¸ö²¿·Ö£ºÒ»¸öÊÇÓαê½á¹û¼¯¡¢Ò»¸öÊÇÓαêλÖá£
Óαê½á¹û¼¯£º¶¨Òå¸ÃÓαêµÃSELECTÓï¾ä·µ»ØµÄÐеļ¯ºÏ¡£ÓαêλÖãºÖ¸ÏòÕâ¸ö½á¹û¼¯Ä³Ò»Ðеĵ±Ç°Ö¸Õë¡£
2.ÓαêµÄ·ÖÀà
Óα깲ÓÐ3ÀࣺAPI·þÎñÆ÷ÓαꡢTransaction-SQLÓαêºÍAPI¿Í»§¶ËÓαꡣ
ÆäÖÐÇ°Á½ÖÖÓα궼ÊÇÔËÐÐÔÚ·þÎñÆ÷Éϵģ¬ËùÒÔÓÖ½Ð×ö·þÎñÆ÷Óαꡣ
API·þÎñÆ÷Óαê
API·þÎñÆ÷ÓαêÖ÷ÒªÓ¦ÓÃÔÚ·þÎñÉÏ£¬µ±¿Í»§¶ËµÄÓ¦ÓóÌÐòµ÷ÓÃAPIÓα꺯Êýʱ£¬·þÎñÆ÷»á¶ÔAPIº¯Êý½øÐд¦Àí¡£Ê¹ÓÃAPIº¯ÊýºÍ·½·¨¿ÉÒÔʵÏÖÈçϹ¦ÄÜ£º
& ......
Sql ServerµÄ´æ´¢¹ý³ÌÊÇÒ»¸ö±»ÃüÃûµÄ´æ´¢ÔÚ·þÎñÆ÷ÉϵÄTransacation-SqlÓï¾ä¼¯ºÏ,ÊÇ·â×°Öظ´ÐÔ¹¤×÷µÄÒ»ÖÖ·½·¨,ËüÖ§³ÖÓû§ÉùÃ÷µÄ±äÁ¿¡¢Ìõ¼þÖ´ÐкÍÆäËûÇ¿´óµÄ±à³Ì¹¦ÄÜ¡£
´æ´¢¹ý³ÌÏà¶ÔÓÚÆäËûµÄÊý¾Ý¿â·ÃÎÊ·½·¨ÓÐÒÔϵÄÓŵ㣺
£¨1£©Öظ´Ê¹Óᣴ洢¹ý³Ì¿ÉÒÔÖظ´Ê¹Ó㬴Ӷø¿ÉÒÔ¼õÉÙÊý¾Ý¿â¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿¡£
£¨2£©Ìá¸ßÐÔÄÜ¡£´æ´¢¹ý³ÌÔÚ´´½¨µÄʱºò¾Í½øÐÐÁ˱àÒ룬½«À´Ê¹ÓõÄʱºò²»ÓÃÔÙÖØбàÒë¡£Ò»°ãµÄSQLÓï¾äÿִÐÐÒ»´Î¾ÍÐèÒª±àÒëÒ»´Î£¬ËùÒÔʹÓô洢¹ý³ÌÌá¸ßÁËЧÂÊ¡£
£¨3£©¼õÉÙÍøÂçÁ÷Á¿¡£´æ´¢¹ý³ÌλÓÚ·þÎñÆ÷ÉÏ£¬µ÷ÓõÄʱºòÖ»ÐèÒª´«µÝ´æ´¢¹ý³ÌµÄÃû³ÆÒÔ¼°²ÎÊý¾Í¿ÉÒÔÁË£¬Òò´Ë½µµÍÁËÍøÂç´«ÊäµÄÊý¾ÝÁ¿¡£
£¨4£©°²È«ÐÔ¡£²ÎÊý»¯µÄ´æ´¢¹ý³Ì¿ÉÒÔ·ÀÖ¹SQL×¢ÈëʽµÄ¹¥»÷£¬¶øÇÒ¿ÉÒÔ½«Grant¡¢DenyÒÔ¼°RevokeȨÏÞÓ¦ÓÃÓÚ´æ´¢¹ý³Ì¡£
  ......
jdbcÅäÖÃÓï¾äΪ: jdbc:microsoft:sqlserver://server_name:1433
ÈçÔËÐгÌÐòʱ³öÏÖ "Error establishing socket" ´íÎó,ÔòÓ¦½øÐÐÈçϵ÷ÊÔ:
1 ¼ì²éSQL SERVER ÊÇ·ñÔÊÐíÔ¶³Ì·ÃÎÊ.¾ßÌå²½Öè:
1)´ò¿ª"ÆóÒµ¹ÜÀíÆ÷",´ò¿ª¿ØÖÆ̨¸ùĿ¼>SQL Server ×é>Êý¾Ý¿â
2)ÔÚÏàÓ¦"Êý¾Ý¿â"Éϵ¥»÷ÓÒ¼ü,Ñ¡Ôñ"ÊôÐÔ"
3)Ñ¡Ôñ"Á¬½Ó"Ñ¡Ï,¼ì²é"Ô¶³Ì·þÎñÆ÷Á¬½Ó"ÏÂ,RPC·þÎñÊÇ·ñÑ¡Ôñ.
2 ʹÓÃtelnet IPµØÖ· 1433,ϵͳÊÇ·ñÌáʾÁ¬½Ó³ö´í,ÈçϵͳÌáʾ³ö´í
¼ì²éÊÇ·ñ·À»ðǽÆÁ±ÎÁËSQL SERVER »ò java IDE µÄÍøÂç·ÃÎʶ˿Ú
Èç¹ûÊÇ,¹Ø±Õ·À»ðǽ,ÖØÐÂÆô¶¯SQL SERVERºÍjava IDE,½øÐвâÊÔ,
Èç¹ûϵͳÈÔÌáʾÉÏÊö´íÎó,³¢ÊÔÏÂÁв½Öè
3 ¼ì²éSQL SERVER ¶Ë¿ÚºÅ¼°ÊÇ·ñÆôÓÃÁËTCP/IPÐÒé,¾ßÌå²½Öè:
1)´ò¿ª"ÆóÒµ¹ÜÀíÆ÷",´ò¿ª¿ØÖÆ̨¸ùĿ¼>SQL Server ×é>Êý¾Ý¿â
2)ÔÚÏàÓ¦"Êý¾Ý¿â"Éϵ¥»÷ÓÒ¼ü,Ñ¡Ôñ"ÊôÐÔ"
3)Ñ¡Ôñ"³£¹æ"Ñ¡Ï,µã»÷"ÍøÂçÅäÖÃ",ÈçÆôÓõÄÐÒéÖÐÎÞ"TCP/IPÐÒé"½«Æä¼ÓÈë
4)Ñ¡Ôñ"TCP/IPÐÒé",µã»÷"ÊôÐÔ",¼ì²éÆä¶Ë¿ÚºÅÊÇ·ñΪ1433
5)Èç¶Ë¿ÚºÅΪ1433½«ÆäÐÞ¸ÄΪÆäËü¶Ë¿ÚºÅ,ÐÞ¸ÄjdbcÁ¬½ÓÓï¾ä,½«¶Ë¿ÚºÅͬÑù¸ÄΪÐÂÆôÓõĶ˿ںÅ,Èçjdbc:microsoft:sqlserver://server_name:1400(¼ÙÉèж˿ںÅΪ 1400) ......