115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
	
	
| import taos
 | |
| import time 
 | |
| import sys
 | |
| import getopt
 | |
| class ConnectorChecker:
 | |
|     def init(self):  
 | |
|         self.host = "127.0.0.1"
 | |
|         self.dbName = "test"
 | |
|         self.tbName = "weather"
 | |
|         self.user = "root"
 | |
|         self.password = "taosdata"
 | |
|         
 | |
|        
 | |
|     def sethdt(self,FQDN,dbname,tbname):
 | |
|         if(FQDN):
 | |
|             self.host=FQDN
 | |
|         if(dbname):
 | |
|             self.dbname=dbname
 | |
|         if(tbname):
 | |
|             self.tbName
 | |
|     def printSql(self,sql,elapsed):
 | |
|         print("[ "+"OK"+" ]"+" time cost: %s ms, execute statement ====> %s"
 | |
|                    %(elapsed,sql))
 | |
|     def executeQuery(self,sql):
 | |
|         try:
 | |
|             start=time.time()
 | |
|             execute = self.cl.execute(sql)
 | |
|             elapsed = (time.time()-start)*1000
 | |
|             self.printSql(sql,elapsed)
 | |
|             data = self.cl.fetchall()
 | |
|             numOfRows = self.cl.rowcount
 | |
|             numOfCols = len(self.cl.description)
 | |
|             for irow in range(numOfRows):
 | |
|                 print("Row%d: ts=%s, temperature=%d, humidity=%f" %(irow, data[irow][0], data[irow][1],data[irow][2]))
 | |
|         except Exception as e:
 | |
|             print("Failure sql: %s,exception: %s" %sql,str(e))  
 | |
|     def execute(self,sql):
 | |
|         try:
 | |
|             start=time.time()
 | |
|             execute = self.cl.execute(sql)
 | |
|             elapsed = (time.time()-start)*1000
 | |
|             self.printSql(sql,elapsed)
 | |
|            
 | |
|         except Exception as e:
 | |
|             print("Failure sql: %s,exception: %s" %
 | |
|                 sql,str(e))
 | |
|     def close(self):
 | |
|         print("connetion closed.")
 | |
|         self.cl.close()
 | |
|         self.conn.close()
 | |
|     def createDatabase(self):
 | |
|         sql="create database if not exists %s" % self.dbName
 | |
|         self.execute(sql)
 | |
|     def useDatabase(self):
 | |
|         sql="use %s" % self.dbName
 | |
|         self.execute(sql)
 | |
|     def createTable(self):
 | |
|         sql="create table if not exists %s.%s (ts timestamp, temperature float, humidity int)"%(self.dbName,self.tbName)
 | |
|         self.execute(sql)
 | |
|     def checkDropTable(self):
 | |
|         sql="drop table if exists " + self.dbName + "." + self.tbName + ""
 | |
|         self.execute(sql)
 | |
|     def checkInsert(self):
 | |
|         sql="insert into test.weather (ts, temperature, humidity) values(now, 20.5, 34)"
 | |
|         self.execute(sql)
 | |
|     def checkSelect(self):
 | |
|         sql = "select * from test.weather"
 | |
|         self.executeQuery(sql)
 | |
|     def srun(self):
 | |
|         try:
 | |
|             self.conn = taos.connect(host=self.host,user=self.user,password=self.password)
 | |
|             #self.conn = taos.connect(self.host,self.user,self.password)
 | |
|         except Exception as e:
 | |
|             print("connection failed: %s"%self.host)
 | |
|             exit(1)
 | |
|         print("[ OK ] Connection established.")
 | |
|         self.cl = self.conn.cursor()
 | |
| 
 | |
| def main(argv):
 | |
|     FQDN=''
 | |
|     dbname=''
 | |
|     tbname=''
 | |
|     try:
 | |
|       opts, args = getopt.getopt(argv,"h:d:t:",["FQDN=","ifile=","ofile="])
 | |
|     except getopt.GetoptError:
 | |
|         print ('PYTHONConnectorChecker.py -h <FQDN>')
 | |
|         sys.exit(2)
 | |
|     for opt, arg in opts:
 | |
|         if opt in ("-h", "--FQDN"):
 | |
|             FQDN=arg
 | |
|         elif opt in ("-d", "--dbname"):
 | |
|             dbname = arg
 | |
|         elif opt in ("-t", "--tbname"):
 | |
|             tbname = arg
 | |
|    
 | |
|     checker = ConnectorChecker()
 | |
|     checker.init()
 | |
|     checker.sethdt(FQDN,dbname,tbname)
 | |
|     checker.srun()
 | |
|     checker.createDatabase()
 | |
|     checker.useDatabase()
 | |
|     checker.checkDropTable()
 | |
|     checker.createTable()
 | |
|     checker.checkInsert()
 | |
|     checker.checkSelect()
 | |
|     checker.checkDropTable()
 | |
|     checker.close()
 | |
| 
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     main(sys.argv[1:])
 | |
|            
 | |
| 
 |