Python-Data截断,并在插入MsSQL时在数据之间添加空格

时间:2014-08-14 12:43:02

标签: python sql sql-server freetds

将数据插入MS SQL Server数据库后,我的值将被截断,并在其间添加单个额外空间。例如: -

HomeShop18保存为H o m e s。它也被截断,并且还包括空间。

但当我select * from table where col= 'Homes'显示数据时。问题是什么?  如何将数据插入SQL Server DB?

这是我目前正在做的事情?  PS:我在SO上读过线程,指出要增加尺寸和TDS版本。我已经尝试了所有但仍然插入条目被截断。

def post_data(data):
    os.environ['TDSVER'] = '8.0'

    data = (
        data['AWB_Number'], data['Weight'], data['Length'], data['Height'],
        data['Width'], data['Customer_Name'], datetime.datetime.strptime(data['Scan_Time'][:19] , '%Y-%m-%d %H:%M:%S'),data['Series_Flag']
        )

    print data # ('40642847766', '0.011', '1.1', '1.1', '1.1', 'flipkart', datetime.datetime(2014, 8, 14, 11, 14, 53), 'True')
con_string = 'DSN=%s;UID=%s;PWD=%s;DATABASE=%s;' % (dsn, user, password, database)
    cnxn = pyodbc.connect(con_string)

    cursor = cnxn.cursor()
    cursor.execute("insert into data_AutoScale_DELHUB(AWB_Number,Weight,Length,Width,Height,Customer_Name,Scan_Time,Series_Flag) VALUES (?, ?, ?, ?, ?, ?, ?, ?)" , data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7])
    cursor.commit()

    cnxn.close()

1 个答案:

答案 0 :(得分:0)

注意参数的顺序。在查询和参数中似乎反转了“高度”和“宽度”。

检查execute()中参数的顺序是否与

相同
(AWB_Number,Weight,Length,Width,Height,Customer_Name,Scan_Time,Series_Flag)