Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstawianie danych pyodbc.Binary (BLOB) do kolumny obrazu SQL Server

Najpierw upewnij się, że używasz with open(..) aby przeczytać plik (inny przykład ). To automatycznie zamyka obiekty plików, gdy są wyczerpane lub zgłaszany jest wyjątek.

# 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)

Domyślam się, że otrzymujesz 0x343234353... dane, patrząc na wyniki w Management Studio:

Nie oznacza to, że dane są przechowywane w ten sposób, jest to po prostu sposób, w jaki Management Studio reprezentuje image , text , ntext , varbinary , itp. typy danych w panelu wyników.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować SSMS

  2. Nie można otworzyć domyślnej bazy danych użytkownika. Logowanie nie powiodło się. po zainstalowaniu SQL Server Management Studio Express

  3. Znaczenie nawiasów kwadratowych [] w projektancie tabel MS-SQL?

  4. Czy firma Microsoft może przechowywać trzy wartościowe pola w jednym bicie?

  5. Data formatu programu SQL Server DD.MM.RRRR GG:MM:SS