【问题标题】:How to load Excel file into sybase ASE db table?如何将 Excel 文件加载到 sybase ASE db 表中?
【发布时间】:2017-02-10 03:21:27
【问题描述】:

我正在尝试将数据从 Excel 工作表加载到 Sybase ASE 数据库表中。我尝试了以下方法,但面临错误。请分享你的想法。我创建了一个临时表 #Temp_Table 我想从文件中加载数据。

输入到#Temp_Table FROM 'C:\Testdata_Tabdelimited.txt' 格式化文本;

错误:关键字“FROM”附近的语法不正确。

我也尝试了不同的查询,但没有运气 加载表#Temp_Table FROM 'C:\Testdata_Tabdelimited.txt' 格式文本; [错误代码:156,SQL 状态:S1000] 关键字“TABLE”附近的语法不正确。

谢谢

【问题讨论】:

  • 看起来您实际上并没有使用 ASE 命令。这些可能是 IQ 或 SqlAnywhere 命令。 INPUT INTOLOAD TABLE 不是有效的 ASE 命令。
  • INPUT INTO 和 OUTPUT TO 仅适用于 iSQL (DBISQL) 的 GUI 版本,据我所知。对于命令行 iSQL,有一个类似重定向的输出结构,“go > filename”,但我还没有找到输入的等效结构。 (很长的死线程,但我把这个放在这里给任何谷歌搜索的人。)

标签: excel loading sybase


【解决方案1】:

最简单的方法是将 Excel 文件保存为 CSV 或其他字符分隔文件,并使用 BCP 实用程序将数据导入临时表。您可以使用制表符分隔的文件,但根据我的经验,如果有任何用户输入的数据(VARCHAR 或 TEXT)可能包含制表符,它们往往会有风险。

文档:Using bcp to Transfer Data to and from SAP ASE

【讨论】:

  • 感谢迈克尔的想法。我克制自己不使用 INPUT 或 LOAD 命令。我尝试遵循 bcp 命令,但它没有执行任何功能,如下所示。 4> bcp tempdb..Temp_XXXXX in Testdata_Tabdelimited.txt -UXXXXXX -SXXXX -PXXXXXXXXX -c testload.txt 5> 6> 7> 8> 退出
  • 我正在计划编写一个C程序来解析CSV文件并读取每条记录的数据并创建SQL脚本将数据插入表中。
  • @cppminds Bcp 是一个单独的实用程序,应该从命令行执行,而不是从 isql 中执行。请查看文档链接以获取有关如何使用 BCP 的信息。
猜你喜欢
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-07
  • 2016-07-11
  • 1970-01-01
  • 2023-02-16
相关资源
最近更新 更多