当前位置: 首页 > 面试题库 >

查询崩溃MS Access

邵展
2023-03-14
问题内容

任务: 我正在将数据库从MS Access迁移到Maximizer。为此,我必须在MS
ACCESS中获取64个表并将它们合并为一个表。输出必须为TAB或CSV文件的形式。然后将其导入到Maximizer中。

问题: Access无法执行看起来如此复杂的查询,因为每次运行查询时它都会崩溃。

替代方案: 我已经考虑了一些替代方案,并希望在其中选择最耗时的方案,同时还要利用任何机会学习新知识。

  1. 将每个表导出为CSV并导入SQLight,然后使用它进行查询,以执行与ACCESS失败相同的操作(合并64个表)。
  2. 将每个表导出为CSV并编写脚本以访问每个表并将CSV合并为一个CSV。
  3. 以某种方式连接到MS ACCESS DB(API),并编写脚本以从每个表中提取数据并将其合并为CSV文件。

问题: 您有什么建议?

说明:

  1. 我正在合并表,而不是串联。每个表具有不同的结构和不同的数据。这是一个标准化的CRM数据库。公司->联系人->详细信息=〜60表的详细信息。
  2. 由于迁移数据库后将破坏Access数据库,因此我想在Access中花费尽可能少的时间。

问题答案:

我同意FrustratedWithFormsDesigner。#2似乎是最简单的方法。

如果您决定走那条路线,这是一些经过测试的代码(需要pyodbc):

import csv
import pyodbc

MDB = 'c:/path/to/my.mdb'
DRV = '{Microsoft Access Driver (*.mdb)}'
PWD = 'mypassword'

conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
curs = conn.cursor()

SQL = 'SELECT * FROM mytable;' # insert your query here
curs.execute(SQL)

rows = curs.fetchall()

curs.close()
conn.close()

# you could change the 'w' to 'a' for subsequent queries
csv_writer = csv.writer(open('mytable.csv', 'w'), lineterminator='\n')

for row in rows:
    csv_writer.writerow(row)


 类似资料:
  • 问题内容: 当我选择2个条件时,mysql总是崩溃。对我来说,这个问题很奇怪: 就是为了这张桌子 这只发生在我的笔记本上。我们有具有相同版本mysql和相同sql的测试服务器(linux)可以 仅在任何一种情况下都不会发生 我尝试删除并重新创建表,转储数据,问题仍然存在 我尝试重新安装相同版本的mysql,并在笔记本中再次发生 有人说mysql 5.6可以,我没有尝试 Mysql版本是5.7.17

  • 我使用的是Hyperledger Fabric V1.0,在尝试使用以下git存储库中的示例项目fabcar时遇到错误:git clone https://github.com/Hyperledger/Fabric-samples.git 我可以使用以下shell脚本启动所有容器: 创建了对等项和通道,但当我使用命令时 它会崩溃,出现以下错误:创建客户端并设置钱包位置 设置钱包路径,并将用户Pee

  • 我试图在solaris机箱中使用远程Weblogic服务器配置jProfiler。服务器正常启动,但是当我将jProfiler GUI连接到服务器时,出现以下错误,服务器崩溃。tmp目录具有足够的访问权限和空间。我可以看到一些文件,比如jpcOYaysx,是在tmp目录中创建的。有人能帮我解决这个问题吗?我们是否有特定于jProfiler的日志,如何配置它? 我找不到任何帮助页面/文档编辑jPro

  • 问题内容: 在Swift,iOS 8,Xcode 6 Beta 6中,我从tableView中删除一行时遇到了一些麻烦。每次尝试删除一行时,都会出现以下错误: / [UITableView _endCellAnimationsWithContext:],/ SourceCache / UIKit_Sim / UIKit-3302.3.1 / UITableView.m:1581 2014-08-3

  • 问题内容: 今天在工作中,我的日食开始反复崩溃。只需打开它并开始编辑文件,几分钟后即可崩溃。我重新安装了所有内容:Eclipse,Workspace,Java,但没有任何帮助。由于我目前无法工作,请尝试确定问题的根源。 (…) 问题答案: 这是C2编译器中的一个已知JVM错误:JDK-8154831。 尝试添加以下JVM参数:

  • 仅供参考;这不需要回答。 我在一个负载很重的Postgres服务器上工作,发出了一个挂起的GRANT命令。它没有被任何其他命令阻止。我有几个打开的连接,并且能够用一个普通的pg_cancel_backend(SIGTERM)命令杀死几个进程,但我的GRANT命令没有响应该命令或pg_ terminate_backde(SIGINT)。我最后尝试了“kill-9(pid)”(SIGKILL),服务器