pymssql·ÃÎÊsqlserverµÄÒ»¸öbug
¡¡¡¡¶ÔÊý¾Ý¿â½øÐжà±í²Ù×÷£¬Èç¹û±íÓë±íÖ®¼ä´æÔÚÒÀÀµ£¬ÄÇôÏÔʽµÄʹÓÃÊÂÎñ£¬¿ÉÒÔ±£³Ö¶ÔÊý¾Ý¿â²Ù×÷µÄÔ×ÓÐÔ¡£ÓÃPython·ÃÎÊSqlServerÊý¾Ý¿â£¬ÎÒʹÓÃpymssql¿â¡£½ñÌìÔÚʹÓÃÕâ¸ö¿âµÄʱºò£¬·¢ÏÖÒ»¸öÎÊÌâ¡£
ÎÊÌâ´ó¸ÅÊÇÕâÑùµÄ£º
¡¡¡¡ÎÒÓÐÁ½ÕÅ±í£¬Ò»ÕÅÖ÷±í£¨ClassInfo£©£¬Ò»ÕÅ´Ó±í£¨Student£©£¬Student±íͨ¹ýÍâ¼üClassIDÓëClassInfo±í½øÐйØÁª¡£ÕâÁ½ÕűíµÄÖ÷¼ü¶¼ÊÇ×ÔÔöÐ͵ÄintÐÍ×ֶΡ£
¡¡¡¡´´½¨±íµÄSQLÓï¾äÈçÏ£º
CREATE TABLE ClassInfo(
ClassID INT IDENTITY(1, 1) PRIMARY KEY,
ClassName VARCHAR(20) NOT NULL
)
GO
CREATE TABLE Student(
StudentID INT IDENTITY(1, 1) PRIMARY KEY,
ClassID INT NOT NULL,
StudentName VARCHAR(20) NOT NULL,
FOREIGN KEY (ClassID) REFERENCES ClassInfo(ClassID)
)
GO
¡¡¡¡ÔÚ´úÂëÖУ¬ÏÈ´´½¨Ò»¸ö°à¼¶£¬È»ºóÔڰ༶ÖвåÈëѧÉúÊý¾Ý¡£Èç¹ûÕâÁ½¸ö²Ù×÷ÔÚÒ»¸öÊÂÎñÖÐÍê³É£¬Ò»°ãÇé¿öÏ£¬°´ÕÕpymssqlÌṩµÄÎĵµ£¬ÎÒÃÇ»áдÕâÑùµÄÓï¾äÀ´ÊµÏÖ£º
import pymssql
conn = pymssql.connect(host = 'JGood\\SQLEXPRESS', database = "Study",
user = "sa", password = "sa")
cur = conn.cursor()
#ÍùÖ÷±íÖÐÌí¼ÓÒ»Ìõ¼Ç¼
cur.execute("INSERT INTO [ClassInfo] ([ClassName]) VALUES (%s)", 'jk0403')
#»ñÈ¡ID¡£
cur.execute("SELECT @@identity as ID")
classID = cur.fetchone()[0]
#Íù´Ó±íÖÐÌí¼Ó¼Ç¼
cur.execute("INSERT INTO [Student] (ClassID, StudentName) VALUES (%d, %s)",
(classID, 'JGood'))
conn.commit()
cur.close()
conn.close()
¡¡¡¡µ«ÊǺÜÒź¶£¬ÔÚÔËÐдúÂëµÄʱºò£¬³ö´íÁË£º
¡¡¡¡Èç¹ûÎÒ°ÑÉÏÃæµÄ²Ù×÷·Ö³ÉÁ½¸ö¶ÀÁ¢µÄÊÂÎñÀ´ÊµÏÖ£¬·¢ÏÖÊÇûÓÐÎÊÌâµÄ¡£
¡¡¡¡¾¹ýÒ»ÏÂÎçµØÃþË÷£¬ÖÕËãÕÒµ½Ò»¸ö½â¾ö°ì·¨£¬¾ÍÊǰÑ×ÔÔöµÄIDÒÔÆ´×Ö·û´®µÄÐÎʽÌí¼Óµ½SQLÓï¾äÀ¶ø²»ÊÇÒÔSQL²ÎÊýµÄÐÎʽ¡£
#Íù´Ó±íÖÐÌí¼Ó¼Ç¼
cur.execute("INSERT INTO [Student] (ClassID, StudentName) VALUES (" + str(classID) + ", %s)", ('JGood', ))
¡¡¡¡ÎÒ²»ÖªµÀÕâËã²»ËãÊÇpymssqlµÄÒ»¸öbug£ºÔÚÒ»¸öÊÂÎñÖУ¬¶ÔÓÚ×Ô¶¯Éú³ÉµÄÍâ¼üÖµ£¬²»ÄÜÒÔSQL²ÎÊýµÄÐÎʽ²åÈëÊý¾Ý¿â¡£
Ïà¹ØÎĵµ£º
Sybase SQL ServerÌåϵ½á¹¹½éÉÜ
ÕªÒª£º±¾ÎÄÖ÷Òª¶ÔSybase SQL ServerÌåϵ½á¹¹½øÐнéÉÜ£¬±ãÓÚ¶ÁÕß¶ÔSybase SQL ServerÓиöÕûÌå´ó¸ÅµÄÁ˽⡣
±êÇ©£ºSybase SQL Server Sybase SQL Server Ìåϵ½á¹¹
Sybase SQL ServerÊÇÒ»¸ö¶à¿â½á¹¹µÄRDBMS£¬Ìåϵ½á¹¹´óÖÂÈçÏ£º
1.Êý¾Ý¿â ......
SQLServer ģʽ¾ÍÊÇ£¬°ÑSession ´æ·ÅÔÚ SQL Server Êý¾Ý¿âÀעÒâ²»ÊÇ Oracle £¬¶¯¶¯½ÅÖº¶¼Äܲµ½ÔÒòÀ²£©£¬ÏÂÃæ¿ªÊ¼ËµÃ÷Ò»ÏÂÉèÖõľßÌå²½Ö裺
1¡¢ Æô¶¯Ïà¹ØµÄÊý¾Ý¿â·þÎñ£¨Èçͼ£©
ÔËÐÐSQL Server ·þÎñ¹ÜÀíÆ÷ → Æô¶¯ SQL Server £¨×îºÃÉèΪ¿ª»ú×Ô¶¯ÔËÐУ© ......
SQLSERVER ´óÊý¾ÝÁ¿²åÈëÃüÁ
BULK INSERTÊÇSQLSERVERÖÐÌṩµÄÒ»Ìõ´óÊý¾ÝÁ¿µ¼ÈëµÄÃüÁËüÔËÓÃDTS(SSIS)µ¼ÈëÔÀí£¬¿ÉÒÔ´Ó±¾µØ»òÔ¶³Ì·þÎñÆ÷ÉÏÅúÁ¿µ¼ÈëÊý¾Ý¿â»òÎļþÊý¾Ý¡£ÅúÁ¿²åÈëÊÇÒ»¸ö¶ÀÁ¢µÄ²Ù×÷£¬ÓŵãÊÇЧÂʷdz£¸ß¡£È±µãÊdzöÏÖÎÊÌâºó²»¿ÉÒԻعö¡£
¡¡¡¡BULK INSERTÊÇÓÃÀ´½«ÍⲿÎļþÒÔÒ»ÖÖÌØ¶¨µÄ¸ñʽ¼ÓÔ ......
create function comm_getpy
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--Èç¹û·Çºº×Ö×Ö·û£¬·µ»ØÔ×Ö·û
& ......