如何使用odbc从访问spss导入数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用odbc从访问spss导入数据?相关的知识,希望对你有一定的参考价值。

我尝试将访问数据库(Access 2016 64位)导入IBM Spss(版本25.0.0.1 64位)。因此,我安装了ODBC的新驱动程序(Microsoft Access驱动程序(* .mdb,* accdb 32/64位))。到目前为止一切看起来都很好。在Spss中,我转到file-> import Data-> Database-> New Query并选择MS Access数据库。现在我可以从我的数据库中选择表,设置连接和过滤,更改数据类型但最后如果我点击完成,我得到一个空的数据表。最奇怪的是:在10%的情况下,我实际上将我的数据放入工作表中并且工作正常。在90%的情况下,Spss的错误消息是(未知错误):

GET DATA 
/TYPE=ODBC 
/CONNECT='DSN=Test1234;DBQ=C:UsersSDesktopDBSMDPseudoTest.mdb;  DriverId=25;FIL=MS '+ 
'Access;MaxBufferSize=2048;PageTimeout=5;' 
/SQL='SELECT HERKUNFT_CD '+ 
  'FROM AOP' 
/ASSUMEDSTRWIDTH=255. 

Fehler.  Befehlsname: GET DATA 
Unknown error 
Die Ausführung dieses Befehls wurde gestoppt. 

CACHE. 
EXECUTE. 

Fehlernummer 105.  Befehlsname: EXECUTE 
Dieser Befehl ist erst gültig, wenn eine Arbeitsdatei definiert wurde. 
Die Ausführung dieses Befehls wurde gestoppt. 
DATASET NAME DataSet1 WINDOW=FRONT.

到目前为止我做了什么:

  1. 我试图重新安装Spss以及Office和一些odbc驱动程序。我还为64位和32位安装了Access数据库引擎2016。
  2. 我尝试了所有运行在32位而不是64位的东西。
  3. 我试图将数据类型从accdb更改为mdb,但它也没有帮助。
  4. 我在安装和数据导入期间关闭了防火墙。
  5. 我试图使用syswow64 odbcad32.exe在32位上运行。
  6. 我尝试了一些其他数据类型(xls,...),一切正常
  7. 我也试过不同的表不仅一个。

我不明白:我可以在spss中的数据向导中查看我的数据,但如果尝试通过单击完成导入它,则在90%的情况下会发生相同的未知错误。

答案

不确定这是否有用...我自己不使用MS Access,但是做了很多从外部源导入数据到spss并且发现用于导入预定义数据类型的spss本机选项非常不可靠。另外,我认为数据向导预览似乎与实际的导入引擎分离了 - 为什么就是这种情况。

在您的情况下,您可能会遇到与本地化有关的问题 - 尝试将您的系统语言(!!)更改为英语,并且,为了确定,重新安装spss并在之后选择英语(我们)作为语言。这有时会有所帮助对于.txt或.csv文件的编码,SPSS也非常挑剔:我发现ANSI工作可靠。

因为我对数据非常偏执并且不再信任spss向导我导入spss的唯一方法是通过ANSI编码的CSV /分隔的TXT文件。不确定访问数据会有多少工作(并且你已经说过你已经尝试了这个),但只是让普通数据像它应该的那样工作。

节日快乐!

以上是关于如何使用odbc从访问spss导入数据?的主要内容,如果未能解决你的问题,请参考以下文章

2019/10/17spss

如何使用spss进行交叉列联表分析

excel导入spss后给变量赋值

spss信度如何分析?

spss如何删除堆积条形图中的某块数据

如何从 Java JDBC-ODBC 桥访问 UniqueIdentifier 列