通过Docmd TransferDatabase将数据表从MS Access导出到Snowflake

时间:2019-07-15 13:45:19

标签: sql odbc export ms-access-2010 snowflake

DoCmdTransfer数据库失败,出现运行时错误3146 ODBC调用失败。 无法执行CREATE TABLE。该会话没有当前架构。呼叫“ USE SCHEMA”,或使用限定名称。

DoCmd.TransferDatabase acExport, "ODBC Database", "ODBC;DSN=ODBC32- 
AccessToSWF;UID=yyyy;PWD=xxxx;LANGUAGE=us_english;" & "DATABASE=test", 
acTable, "WB_EXP_OUT", "WB_EXP_OUT"

我期望在测试数据库的默认架构中将表“ WB_EXP_OUT”导出到Snowflake。 我没想到会收到该架构的请求,也不知道在代码中的哪里输入。

1 个答案:

答案 0 :(得分:0)

看起来您正在使用的工具使用了ODBC驱动程序。 根据问题的标题,您似乎在Visual Basic中使用https://docs.microsoft.com/en-us/office/vba/api/access.docmd.transferdatabase,是否正在使用DSN工具?

如果是这样的话,我确实找到了另一个具有此错误的用户,该用户在Suzy的注释中对此进行了修复。 https://community.snowflake.com/s/question/0D50Z00009LIzbGSAT/export-from-ms-access-to-snowflake-missing-pwd-error

  

FrankBullit   3个月前   @suzy ...   我对docmd方法进行了更新:我想我已经建立了连接,但是由于运行时错误'3146'ODBC调用失败而失败。

     

无法执行CREATE TABLE。该会话没有当前架构。

     

呼叫“ USE SCHEMA”或使用限定名称。

     

这是代码,但我找不到有效的修补程序

     

DoCmd.TransferDatabase acExport,“ ODBC数据库”,“ ODBC; DSN = ODBC32-AccessToSWF; UID = edifolco; PWD = xxxx; LANGUAGE = us_english;” &“ DATABASE = test”,acTable,“ WB_EXP_OUT”,“ WB_EXP_OUT”

     

不确定您是否可以真正指定架构。

     

suzy.lockwood   3个月前

     

嗨...这些是一些非常奇怪的错误。您是否通过数据源管理工具使用系统或用户DSN?需要配置DSN,然后它应该在注册表中具有关联的条目,您可以在其中编辑其他参数。 DSN也可以具有架构或数据库参数,或者也可以包含在注册表项中。

有帮助吗?