将整个sqlserver数据库从Python复制到JSON

2024-09-28 01:27:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我面临一个非典型的转换问题。大约十年前,我用ASP编写了一个大型网站。多年来这变成了ASP.NET但数据库还是一样的。在

我刚刚在Django重新创建了这个站点,并且复制了所有的核心数据,但是在取消我在主机上的帐户之前,我需要确保我有一个数据的长期备份,这样如果发现我丢失了什么,我可以从本地副本复制它。在

更复杂的是,我不再有窗户了。有段时间我在我所有的机器上都搬到了Ubuntu。我可以要求主机给我发送一个备份,但由于无法访问带有MSSQL的计算机,如果需要,我将无法使用该备份。在

所以我要找的是:

db = {}
for table in database:
    db[table.name] = [row for row in table]

然后我可以将db序列化到某处,供以后使用。。。但是如何进行表迭代呢?有没有更简单的方法来做这些?MSSQL可以跨平台SQLDump(inc数据)吗?在

对于以前的MSSQL,我使用过pymssql,但是我不知道如何迭代表和复制行(最好是使用列标题,这样我就可以知道数据是什么)。我不需要太多的代码,但我需要一个正确的方向。在


Tags: 数据djangoin数据库fordbnet站点
3条回答

当我需要从python连接到sqlserver时,我喜欢adodbcython模块。下面是一个简单教程/示例的链接:http://phplens.com/lens/adodb/adodb-py-docs.htm#tutorial

查看sysobjects和syscolumns表。同时尝试:

SELECT * FROM sysobjects WHERE name LIKE 'sys%'

查找其他感兴趣的元表。请参见here以获取有关这些表和较新的SQL2005对应表的更多信息。在

我知道你说的是JSON,但是生成一个SQL脚本来用XML完成整个转储非常简单:

SELECT  REPLACE(REPLACE('SELECT * FROM {TABLE_SCHEMA}.{TABLE_NAME} FOR XML RAW', '{TABLE_SCHEMA}',
                        QUOTENAME(TABLE_SCHEMA)), '{TABLE_NAME}', QUOTENAME(TABLE_NAME))
FROM    INFORMATION_SCHEMA.TABLES
WHERE   TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_SCHEMA
       ,TABLE_NAME

相关问题 更多 >

    热门问题