我很难将我的pyodbc插入超链接在我的访问2003数据库中工作。它看起来像是超链接,但单击时什么都不做。为了使其正常工作,我必须在访问中进行编辑,然后才能认识到"哦,是的,这是超链接"。
import pyodbc
cnxn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb)};DBQ= C:\Users\multidata\Documents\db1.mdb;")
cur = cnxn.cursor()
#hyperlink is the text file. table1 is hyperlink column in ms access
cur.execute("INSERT INTO test(table1, table2) values ('C:\Users\multidata\Desktop\MC1\7-31-14_711_EX_2153.txt ', 'y')")
cnxn.commit()
cnxn.close()
访问中的超链接字段是一个文本字段,其中包含许多由哈希标记隔开的"零件"( #
)。这些各个部分在此处的MSDN文章中描述了。
如果我们想将裸url或file_path插入超链接字段,我们需要将其包装在哈希标记中,例如
import pyodbc
conn_str = (
r'DRIVER={Microsoft Access Driver (*.mdb)};'
r'DBQ=C:UsersPublica2003test.mdb;'
)
cnxn = pyodbc.connect(conn_str)
crsr = cnxn.cursor()
hyperlink = r'C:UsersGordDesktopfoo.txt'
sql = "UPDATE Table1 SET docLink=? WHERE ID=1"
crsr.execute(sql, ['#'+hyperlink+'#'])
cnxn.commit()
crsr.close()
cnxn.close()