如何使用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.
到目前为止我做了什么:
- 我试图重新安装Spss以及Office和一些odbc驱动程序。我还为64位和32位安装了Access数据库引擎2016。
- 我尝试了所有运行在32位而不是64位的东西。
- 我试图将数据类型从accdb更改为mdb,但它也没有帮助。
- 我在安装和数据导入期间关闭了防火墙。
- 我试图使用syswow64 odbcad32.exe在32位上运行。
- 我尝试了一些其他数据类型(xls,...),一切正常
- 我也试过不同的表不仅一个。
我不明白:我可以在spss中的数据向导中查看我的数据,但如果尝试通过单击完成导入它,则在90%的情况下会发生相同的未知错误。
不确定这是否有用...我自己不使用MS Access,但是做了很多从外部源导入数据到spss并且发现用于导入预定义数据类型的spss本机选项非常不可靠。另外,我认为数据向导预览似乎与实际的导入引擎分离了 - 为什么就是这种情况。
在您的情况下,您可能会遇到与本地化有关的问题 - 尝试将您的系统语言(!!)更改为英语,并且,为了确定,重新安装spss并在之后选择英语(我们)作为语言。这有时会有所帮助对于.txt或.csv文件的编码,SPSS也非常挑剔:我发现ANSI工作可靠。
因为我对数据非常偏执并且不再信任spss向导我导入spss的唯一方法是通过ANSI编码的CSV /分隔的TXT文件。不确定访问数据会有多少工作(并且你已经说过你已经尝试了这个),但只是让普通数据像它应该的那样工作。
节日快乐!
以上是关于如何使用odbc从访问spss导入数据?的主要内容,如果未能解决你的问题,请参考以下文章