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

时间:2017-12-21 22:27:20

标签: ms-access odbc spss

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

GET DATA 
/TYPE=ODBC 
/CONNECT='DSN=Test1234;DBQ=C:\Users\S\Desktop\DBSMDPseudoTest.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.   
  3. 我尝试了以32位而不是64位运行的所有内容。
  4.   
  5. 我尝试将数据类型从accdb更改为mdb,但它也没有帮助。
  6.   
  7. 我在安装和数据导入过程中关闭了防火墙。
  8.   
  9. 我尝试使用syswow64 \ odbcad32.exe在32位上运行。
  10.   
  11. 我尝试了其他一些数据类型(xls,...),而且everythig工作正常
  12.   
  13. 我也尝试了不同的表格。
  14.   

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

1 个答案:

答案 0 :(得分:0)

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

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

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

Frohes Fest!