我对GIS和python都是新手,所以谢谢你对我的耐心。 我需要把数据从一个数据库复制到另一个数据库。表是相同的,我计划简单地清除目标表(从中删除)并从源数据库中加载数据(从[source];)我的挑战是源表和目标表位于不同的驱动器上。你知道吗
我正在使用以下代码:
# Connect to the origin database.
ns_db_pnm = 'C:\\temp\\db_name.db'
conn = sqlite3.connect(ns_db_pnm)
# Load the SpatiaLite extension to SQLite.
conn.enable_load_extension(True)
conn.execute("select load_extension('mod_spatialite', 'sqlite3_modspatialite_init')")
cur = conn.cursor()
# Attach the destination database FROM A DIFFERENT DRIVE
d_db_pnm = 'D:\\db_path\\db_name.db'
cur.execute('ATTACH DATABASE ' + d_db_pnm + ' AS delivery;')
代码在执行时失败,错误如下:
sqlite3.OperationalError: unrecognized token: ":"
似乎真的不喜欢我连接的数据库在不同的驱动器上。你知道吗
我看到的所有示例都使用数据库的相对路径(没有驱动器名)。显然,我需要改变一个工作目录或一些这样的。请告诉我怎样才能做到这一点。我对无所不知的谷歌的呼吁并没有产生一个可行的答案。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐