पहले सुनिश्चित करें कि आप with open(..)
फ़ाइल को पढ़ने के लिए (एक और उदाहरण
ए> ) यह फ़ाइल ऑब्जेक्ट को स्वचालित रूप से बंद कर देता है जब वे समाप्त हो जाते हैं या एक अपवाद उठाया गया है।
# common vars
connection = pyodbc.connect(...)
filename = 'Test.ics'
insert = 'insert into documents (name, documentType, document, customerNumber)'
# without hex encode
with open(filename, 'rb'):
bindata = f.read()
# with hex encode
with open(filename, 'rb'):
hexdata = f.read().encode('hex')
# build parameters
binparams = ('test200.ics', 'text/calendar', pyodbc.Binary(bindata), 1717)
hexparams = ('test200.ics', 'text/calendar', pyodbc.Binary(hexdata), 1717)
# insert binary
connection.cursor().execute(insert, binparams)
connection.commit()
# insert hex
connection.cursor().execute(insert, hexparams)
connection.commit()
# print documents
rows = connection.cursor().execute('select * from documents').fetchall()
for row in rows:
try:
# this will decode hex data we inserted
print str(row.document).decode('hex')
# attempting to hex decode binary data throws TypeError
except TypeError:
print str(row.document)
मुझे लगता है कि आपको 0x343234353...
. मिल रहा है प्रबंधन स्टूडियो में परिणाम देखकर डेटा:
इसका मतलब यह नहीं है कि डेटा इस तरह से संग्रहीत किया जाता है, यह ठीक उसी तरह है जैसे प्रबंधन स्टूडियो image
का प्रतिनिधित्व करता है , text
, ntext
, varbinary
, आदि परिणाम फलक में डेटाटाइप।