源代码:


import win32com.client


def conn_mysql():
    #DSN = r'Provider=WinCCOLEDBProvider.1;Catalog=CC_test2_20_03_31_16_25_08R;Data Source=ZJF02\WINCC;UID=sa;PWD=root'
    DSN= r"DRIVER={MySQL ODBC 8.0 Unicode Driver}; SERVER=localhost; DATABASE=test; USER=root; PASSWORD=root;OPTION=3"

    #select
    Rs = win32com.client.Dispatch(r"ADODB.Recordset")
    Rs.ActiveConnection = DSN
    Rs.Source = r"select * from testtable"
    Rs.CursorType = 0
    Rs.CursorLocation = 2
    Rs.LockType = 1
    Rs.Open()
    numRows = 0
    Rs.MoveFirst()
    while not Rs.EOF:
    #    print r'id:',Rs.Fields.Item("id").Value.encode('gbk')
    #      if Rs.Fields.Item("name").Value != None:
    #         print r'  name:',Rs.Fields.Item("name").Value.encode('gbk')
    #     numRows+=1
    #     Rs.MoveNext()
    # print 'Total Rows:',numRows

        a = str(Rs.Fields.Item(0))+str(Rs.Fields.Item(1))+str(Rs.Fields.Item(2))+'\n'
        # with open('a.txt', 'a', encoding='utf-8') as f:
        #     f.write(a)
        print(a)
        Rs.MoveNext()

def conn_wincc():
    runTime = win32com.client.Dispatch(r'CCHMIRuntime.HMIRuntime')
    catalog = runTime.Tags("@DatasourceNameRT").Read()  # 获取数据库名称
    # dataSource = runTime.Tags("@LocalMachineName").Read()  # 获取计算机名称
    return catalog

def test():
    DSN = r'Provider=WinCCOLEDBProvider.1;Catalog=CC_data_tes_20_04_22_17_20_56R;Data Source=ZJF02\WINCC;UID=administrator;PWD=kobe0820'
    Rs = win32com.client.Dispatch(r"ADODB.Recordset")
    Rs.ActiveConnection = DSN
    #Rs.Source = r"select * from testtable"
    Rs.Source = r"Tag:R,('pva\t1'),'2020-03-31 10:36:30.870','2020-07-01 04:21:46.990'"
    Rs.CursorType = 0
    Rs.CursorLocation = 3
    Rs.LockType = 1
    Rs.Open()
    numRows = 0
    Rs.MoveFirst()
    #print(Rs.FieldCount)
    while not Rs.EOF:
        print(Rs.Fields.Item(0))
        Rs.MoveNext()

if __name__ == '__main__':
    #print(conn_wincc())
    #conn_mysql()
    test()


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐