我想使用python脚本将增量数据从一个SQL服务器传输到另一个SQL服务器。你知道吗
我已经做过了事情:你知道吗
import os
import pyodbc
#os.chdir("D:\TransOrg\Projects\PPAP\Files\Extrusion")
myConn1 = pyodbc.connect( driver="{SQL Server}",server="xxx.xxx.xxx.xxx",database="xxx",user="xxx",password="xxxx" )
myConn2 = pyodbc.connect( driver="{SQL Server}",server="xxx.xxx.xxx.xxx",database="xxx",user="xxx",password="xxx" )
cur1=myConn1.cursor()
cur2=myConn2.cursor()
print('Cursor established')
#cur.execute(''' drop table test_load ;''')
#cur.execute("create table test_load (name varchar(40), age int) ON [PRIMARY]")
#db_cmd = '''SELECT Fact_Suborder_Journey_Key,SubOrderID,SubOrderDate,SubOrderDate_INT,DIM_Item_Key,DIM_Product_Key,DIM_Category_Key
#,Dim_Customer_Key,DIM_DTH_Key,Dim_Acquisition_Channel_Key,DIM_Geography_Key,DIM_LeadSource_Key,Dim_MarketPlace_Key,Dim_SalesBucket_Key
#,Cancelled_DATE,MarkedShipped_DATE,MarkedReshipped_DATE,MarkedSalesReturn_DATE,SalesReturn_DATE,MarkedDelivered_DATE,Margin
#,GSV,ItemPrice,PayablePrice,PaidByGCAmt,PaidByDC,IsValid,IsSuperBooked,IsSameDayCancellation,IsMISvalid,IsCancelled,IsShipped
#,IsMarkedShipped,IsLostInTransit,IsNDR,IsRTO,IsORTV,IsDelivered,IsMarkedDelivered,IsExecuted,IsReturnRequested,IsProvisionalExecuted
#,IsSalesReturnDone,IsBuyOrSell,IsSellerShipper,IsNCAwarded,IsMailSentOnStatusChange,IsAdvPayment,IsAdvPaymentPerc,IsPreorderable,IsRenewType
#,IsDeleted,IsCallCenter,OrderType,IS_TV_PRODUCT,MarketPlaceId,Dim_DSS_Key,Dim_OrderShowTag_Key,Dim_Suborder_Delivery_Mode_Key,Dim_CustomerMDM_Key
#,Dim_NewVsRepeatCustomerMDM_Key
#FROM transorg_DW.dbo.Fact_Suborder_Journey
#where SubOrderDate between '2016-06-14 00:00:00' and '2016-06-15 23:59:59';'''
#res = cur1.execute(db_cmd)
#print (res)
#for r in res:
# print (r)
db_cmd2='''insert into transorg_DW.dbo.Fact_Suborder_Journey_inc (Fact_Suborder_Journey_Key,SubOrderID,SubOrderDate,SubOrderDate_INT,DIM_Item_Key,DIM_Product_Key,DIM_Category_Key
,Dim_Customer_Key,DIM_DTH_Key,Dim_Acquisition_Channel_Key,DIM_Geography_Key,DIM_LeadSource_Key,Dim_MarketPlace_Key,Dim_SalesBucket_Key
,Cancelled_DATE,MarkedShipped_DATE,MarkedReshipped_DATE,MarkedSalesReturn_DATE,SalesReturn_DATE,MarkedDelivered_DATE,Margin
,GSV,ItemPrice,PayablePrice,PaidByGCAmt,PaidByDC,IsValid,IsSuperBooked,IsSameDayCancellation,IsMISvalid,IsCancelled,IsShipped
,IsMarkedShipped,IsLostInTransit,IsNDR,IsRTO,IsORTV,IsDelivered,IsMarkedDelivered,IsExecuted,IsReturnRequested,IsProvisionalExecuted
,IsSalesReturnDone,IsBuyOrSell,IsSellerShipper,IsNCAwarded,IsMailSentOnStatusChange,IsAdvPayment,IsAdvPaymentPerc,IsPreorderable,IsRenewType
,IsDeleted,IsCallCenter,OrderType,IS_TV_PRODUCT,MarketPlaceId,Dim_DSS_Key,Dim_OrderShowTag_Key,Dim_Suborder_Delivery_Mode_Key,Dim_CustomerMDM_Key
,Dim_NewVsRepeatCustomerMDM_Key)
select Fact_Suborder_Journey_Key,SubOrderID,SubOrderDate,SubOrderDate_INT,DIM_Item_Key,DIM_Product_Key,DIM_Category_Key
,Dim_Customer_Key,DIM_DTH_Key,Dim_Acquisition_Channel_Key,DIM_Geography_Key,DIM_LeadSource_Key,Dim_MarketPlace_Key,Dim_SalesBucket_Key
,Cancelled_DATE,MarkedShipped_DATE,MarkedReshipped_DATE,MarkedSalesReturn_DATE,SalesReturn_DATE,MarkedDelivered_DATE,Margin
,GSV,ItemPrice,PayablePrice,PaidByGCAmt,PaidByDC,IsValid,IsSuperBooked,IsSameDayCancellation,IsMISvalid,IsCancelled,IsShipped
,IsMarkedShipped,IsLostInTransit,IsNDR,IsRTO,IsORTV,IsDelivered,IsMarkedDelivered,IsExecuted,IsReturnRequested,IsProvisionalExecuted
,IsSalesReturnDone,IsBuyOrSell,IsSellerShipper,IsNCAwarded,IsMailSentOnStatusChange,IsAdvPayment,IsAdvPaymentPerc,IsPreorderable,IsRenewType
,IsDeleted,IsCallCenter,OrderType,IS_TV_PRODUCT,MarketPlaceId,Dim_DSS_Key,Dim_OrderShowTag_Key,Dim_Suborder_Delivery_Mode_Key,Dim_CustomerMDM_Key
,Dim_NewVsRepeatCustomerMDM_Key from Fact_Suborder_Journey where SubOrderDate between '2016-06-14 00:00:00' and '2016-06-15 23:59:59';'''
res1=cur1.execute(db_cmd2)
cur1.commit()
cur1.close()
cur2.commit()
cur2.close()
#print("table created successfully")
正在获取db\u cmd1的输出,但我想运行db\u cmd2查询,我获取错误。 错误是:- SQL Server]对象名“HS18”无效_DW.dbo.fact\子订单\行程'. (208)(SQLExecDirectW)“)
如果有人想将增量数据从一个sql server传输到另一个sql server 使用此查询并根据您的请求进行修改要求:-你知道吗
我有266列,为什么我使用%s*266,您可以根据表定义使用它们。你知道吗
挑战1我必须插入日期列,因为在日期字段中,它应该用单引号“”括起来,字符串数据也应该用单引号括起来。
挑战2自动插入%s,我不想写%s 266次
相关问题 更多 >
编程相关推荐