JDBC 驱动程序支持的数据库

使用上传工具从受 DBC 驱动程序支持的数据库上传数据

Zoho Analytics 上传工具是一个可下载的独立实用程序,您可以将其安装在本地环境中并连接以从防火墙后面将数据从本地数据库上传到 Zoho Analytics。如果您已将数据存储在受 JDBC 支持的数据库中(如 Teradata、Informix、HP Vertica 等),则可以使用上传工具从数据库中提取数据并将其上传到 Zoho Analytics中。

在此部分中,我们将讨论如何连接上传工具以从受 JDBC 支持的本地/托管数据库提取数据,并导入至 Zoho Analytics。您还可以阅读有关如何配置上传工具以定期将数据库中的数据上传/同步到 Zoho Analytics 的信息。

下载并安装上传工具

Zoho Analytics 上传工具可从以下链接下载。

https://www.zoho.com.cn/analytics/help/upload-tool/download-and-setup.html#download-tool

您可以通过在所需位置解压缩文件来轻松安装该工具,从该位置您可通过互联网连接到本地数据库和 Zoho Analytics 工作区。要了解有关安装上传工具的更多详细信息,请参阅以下链接:

https://www.zoho.com.cn/analytics/help/upload-tool/download-and-setup.html#install

设置 JDBC 驱动程序

您可以通过将数据库的相关 JDBC 驱动程序(JDBC jar 文件)复制到上传工具的 /lib 目录,以使用 JDBC 驱动程序连接您的本地/托管数据库。您需要下载数据库供应商提供的相应 JDBC 驱动程序。请参阅供应商的数据库文档以了解详细信息。

配置上传工具

conf 目录包含此工具的所有配置文件。在执行此工具前,您需要指定相应的配置设置。/conf 目录包含三个文件。

  • common_params.conf - 提供连接参数以指定需要向其上传数据的 Zoho Analytics 帐户的详细信息。
  • database_connection_params.conf - 提供数据库连接参数,以指定需要从其中上传数据的受 JDBC 支持的本地/托管数据库的详细信息。
  • database_sql_queries.xml - 允许您指定用于从受 JDBC 支持的本地/托管数据库中提取数据并将其上传到 Zoho Analytics 工作区中的 SQL SELECT 查询。

连接参数

common_params.conf 文件提供连接参数以指定需要向其上传数据的 Zoho Analytics 帐户的详细信息。除了 Zoho Analytics 连接参数外,它还包含导入参数和代理服务器详细信息。

通用设置

common_params.conf 文件中,指定以下参数。这允许上传工具在获得 IAM_SERVER_URL 验证后连接 REPORT_SERVER_URL

参数描述必填/可选

IAM_SERVER_URL

指定 Zoho 验证服务器的 URL。

即,https://accounts.zoho.com.cn。

如果您的 Zoho Analytics 帐户托管在 EU 服务器中,则指定为

https://accounts.zoho.eu

必填

REPORT_SERVER_URL

指定 Zoho Analytics 服务 URL,
即,https://reportsapi.zoho.com.cn。

如果您的 Zoho Analytics 帐户托管在 EU 服务器中,则指定为

https://reportsapi.zoho.eu

必填

Zoho Analytics 连接参数

下表包含 Zoho Analytics 的连接参数。

参数描述必填/可选

USER_EMAIL_ADDRESS

指定您的 Zoho Analytics 帐户电子邮件 ID

必填

AUTHTOKEN指定您的 Zoho Analytics AuthToken。这是为您的帐户提供的唯一令牌,以用于安全访问。

如果您没有 AuthToken,可以通过访问以下链接来生成一个以登录 Zoho Analytics。

https://accounts.zoho.com.cn/apiauthtoken/create?SCOPE=ZohoReports/reportsapi

将为您的帐户生成 AuthToken,如下所示(以下响应中的参数 AUTHTOKEN 的值是您帐户的实际 AuthToken。)

#Wed Feb 29 03:07:33 PST 2012
AUTHTOKEN=
bad18eba1ff45jk7858b8ae88a77fa30

RESULT=TRUE

必填

DBOWNER_EMAIL_ADDRESS

在此处指定 Zoho Analytics 帐户管理员电子邮件 ID。

必填

要通过代理服务器将工具连接到互联网,您需要提供以下内容。如果您正在使用直接互联网连接,则可以忽略此设置。

参数描述必填/可选

USEPROXY

如果您通过代理服务器进行连接,将此设置为 true。

如果您直接连接至互联网,将此设置为 false。默认情况下,此值设置为 false。

必填

PROXYHOST指定代理服务器在您的网络中运行的计算机名称或 IP 地址。

必填

PROXYPORT

指定代理服务器运行所用的端口。

必填
PROXYUSERNAME

指定用于访问代理服务器的代理服务器用户名。

必填
PROXYPASSWORD

指定用于访问代理服务器的代理密码。

必填

导入参数

这些导入设置可帮助 Zoho Analytics 正确理解正导入的数据。除非要微调导入过程,否则无需配置这些参数。对于大多数情况,默认设置应该足够了。

这些参数在 common_params.conf 文件中提供。要了解可用的导入参数以及如何设置它们的更多信息,请参阅此处

数据库连接参数

您可以在 database_connection_params.conf 文件中配置设置以连接到受 JDBC 支持的本地/托管数据库。

指定下列连接参数。

DBTYPE在此字段中指定数据库名称(例如,teradata 或 informix 或 vertica 或 greenplum 等)
DRIVERCLASSNAME指定数据库的 JDBC 驱动程序类名(请参阅下一部分中的表)
CONNECTIONURL指定带有或不带有用户名和密码的数据库 URL,以与本地数据库建立连接(请参阅上表)。
USERNAME指定用户名以访问数据库。如果您在 CONNECTIONURL 本身中指定了身份验证详细信息,则无需此操作。
PASSWORSD指定密码以访问数据库。如果您在 CONNECTIONURL 本身中指定了身份验证详细信息,则无需此操作。

以下屏幕截图展示了 Teradata 数据库的连接设置。 

JDBC 驱动程序支持的数据库

您可以使用此处指定的方法连接到支持 JDBC 驱动程序的本地/托管的数据库。下表包含常用数据库的默认连接设置。

数据库DBTYPE驱动程序类名连接 URL端口(默认值)
Teradatateradatacom.teradata.jdbc.
TeraDriver
jdbc:teradata://<主机>
[/ParameterName=Value,
ParameterName=
Value,.....]
1025
Informixinformixcom.informix.jdbc.
IfxDriver
jdbc:informix-sqli
://<主机>
:<端口>/<数据库名称>
:informixserver=<数据库服务器名称>
1533
HP Verticahpverticacom.vertica.jdbc.Driverjdbc:vertica://
<主机>:<端口>/
<数据库名称>
5433
Ingresingrescom.ingres.jdbc.
IngresDriver
jdbc:ingres://
<主机>:<端口>/
<数据库名称>
21071
Greenplumgreenplumorg.postgresql.Driverjdbc:postgresql://
<主机>:<端口>/
<数据库名称>
5342
SQL Anywheresqlanywherecom.sybase.
jdbc4.jdbc.SybDriver
jdbc:sybase:Tds:
<主机>:<端口>?
ServiceName=<数据库名称>
2638
Derbyderbyorg.apache.derby.
jdbc.ClientDriver
jdbc:derby:net://
<主机>:<端口>/
<数据库名称>
1527
H2h2org.h2.Driverjdbc:h2:tcp://
<主机>/<数据库名称>
9092
Cachecachecom.intersys.jdbc.
CacheDriver
jdbc:Cache://
<主机>:<端口>/<命名空间>
1972
Progress Openedgeprogressopenedgecom.ddtek.jdbc.
openedge.
OpenEdgeDriver
jdbc:datadirect:
openedge://
<主机>;
databaseName=<数据库名称>
9092
Cubridcubridcubrid.jdbc.driver.
CUBRIDDriver
jdbc:cubrid:
<主机>:<端口>:<数据库名称>:::
33000
Mimer SQLmimersqlcom.mimer.jdbc.Driverjdbc:mimer:[//[用户名
[:密码]
@]主机[:端口]] [/数据库名称]
1360
HSQLDBhsqldborg.hsqldb.jdbcDriverjdbc:hsqldb
:hsql://<主机>:
<端口>/<别名>
9001
Mckomckoicom.mckoi.JDBCDriverjdbc:mckoi:
//主机:端口/架构/
9157
FileMaker Profilemakerprocom.filemaker.
jdbc.Driver
jdbc:filemaker://<主机>/<数据库名称>2399

数据库 SQL 查询

数据库 sql 查询文件,即 database_sql_queries.xml,允许您指定用于从受 JDBC 支持的本地/托管数据库中提取数据并将其上传到 Zoho Analytics 工作区中的 SQL SELECT 查询。您可以根据需要指定任意数量要提取的查询以上传数据。

以下是查询格式。

<Query id="" dbname="ReportsDBName1" tablename="ReportsTableName1"  importtype="UPDATEADD" matchingcols="Date, Customer Name" selectcols="" skiptop="" batchsize="10000" queuesize="">
  select * from local_db_table
</Query>

在上述查询格式中,参数的示例值以粗体显示。您可以使用您自己的值替换这些粗体内容。下表说明了 sql 查询的参数。

sql_query

指定要在本地/托管 MySQL 数据库中执行的 SQL SELECT 查询,以提取必要的数据。

示例 1:

从 local_db_table 中选择 *

此查询从 local_db_table 中提取所有记录

示例 2:

从年龄 &gt; 25 的员工中选择 *

此查询从年龄大于 25 岁的员工表中提所有记录

请注意,条件中的“<”符号应替换为 &lt;,条件中的“>”符号应替换为 &gt;

dbname

在执行 SQL 查询后,要向其上传数据的 Zoho Analytics 数据库名称。

:请确保 Zoho Analytics 帐户中的工作区已可用。如果它不存在,请在执行此上传之前创建数据库以避免失败。请参阅创建新工作区以了解如何创建工作区。

tablename

在执行 SQL 查询后,要向其上传数据的 Zoho Analytics 表名称。

请确保已在 Zoho Analytics 工作区中创建具有相似列结构的特定表。请参阅创建表以了解如何创建表。

您还可通过在 common_params.conf 文件中将 ZOHO_CREATE_TABLE 参数设置为 true,以允许 Zoho Analytics 创建表。

importtype

设置导入数据的方式。

可用选项有:

  • APPEND - 将数据附加至表的末尾。
  • UPDATEADD - 更新现有数据记录并附加新数据记录。为此,您需要在 conf 目录的 common_params.conf 中配置 ZOHO_MATCHING_COLUMNS
  • TRUNCATEADD - 删除现有数据并添加新数据。
matchingcols

仅当 importtype 设置为 UPDATEADD 时,此选项才适用。指定列(或列的组合),其值将唯一标识该表中的每个记录。如果记录已存在于表中,则它将替换为正在上传的数据中的新值。否则,数据将添加到表的末尾。

selectcols

以逗号分隔的列名称。只有这些列从结果查询数据上传到在线工作区。

如果您想要上传所有列,请将此保留为 ""(空)。

skiptop

在上传结果查询数据之前,要从顶部跳过的行数。如果您想要上传结果查询数据中的所有行,请将此保留为 ""(空)。

batchsize

上传工具将数据拆分为批次以进行上传。batchsize 参数将大数据拆分为批次以进行上传。batchsize 参数的默认值为 10000。

这是“LINES_TO_SEND”参数的替换,可以在 common_params.conf 文件中找到。在最新版本的上传工具中,参数“LINES_TO_SEND”已弃用。

queuesize

上传工具将数据拆分为批次以进行上传,并将数据写入临时本地文件。queuesize 可帮助调节文件生成。默认值为 nill(这表示,文件生成无限制)。

执行上传工具

在配置参数后,您可通过调用 bin 文件夹中提供的以下文件执行上传工具。

  • 在 Windows 操作系统中 - UploadFromDB.bat
  • Mac/Linux 操作系统 - UploadFromDB.sh

您还可使用命令行执行上传工具。

以下是用于调用上传工具的示例命令。

UploadFromDB.bat

您还可以在命令行中指定身份验证详细信息,例如 Zoho Analytics 登录电子邮件 ID、AuthToken 和工作区管理员电子邮件 ID。但是,在 common_params.conf 文件中指定这些详细信息可以减少每次在命令行自变量中重复这些详细信息的繁琐过程。

如果您除了在 common_params.conf 文件中指定这些值外,还在命令行中指定了这些值,那么命令行中提供的值将优先。

以下是调用上传工具以及用户电子邮件 ID 和 AuthToken 的示例命令。

UploadFromDB.bat <zoho_login_email_address> -A <authtoken>

以下是调用上传工具以及共享用户的用户电子邮件 ID、AuthToken 和工作区管理员电子邮件 ID 的示例命令。

UploadFromDB.bat <zoho_login_email_address> -A <authtoken> -D <database_owner_login_e-mail_address>

Mac 用户需注意:

Mac 用户需要在上传工具的 /bin 文件夹的 setEnv.sh 文件中定义以下设置。您下载的上传工具将与 Linux 版本的上传工具相同。在使用该工具之前,您需要进行以下更改。
  • 解压缩上传工具文件后,打开终端/命令行并将目录更改为 /bin。
  • 在命令提示符中输入以下命令。
    whereis java
  • 复制您的系统返回的 java 位置。
  • 打开 setEnv.sh 文件,并删除以下代码段。

           export JAVA_HOME=$TOOL_HOME/jre
  • 添加以下代码段。
      export JAVABIN=<paste_your_mac_os_java_location>
    示例
    export JAVABIN=/usr/bin/java
  • 保存 setEnv.sh 文件。

设置定期上传/同步

使用上传工具,您可以安排定期从受 JDBC 支持的本地/托管数据库上传数据到 Zoho Analytics。这使您可以将应用程序中的最新数据定期同步到 Zoho Analytics 中,因此,在此数据的基础上创建的报表将保持最新状态。

您可以使用操作系统计划程序功能设置定期计划程序,如下所述。

在 Windows 操作系统中设置安排

  1. 点击开始 > 设置 > 控制面板 > 安排任务
  2. 点击添加安排任务。这将打开安排任务向导。
  3. 点击操作 > 创建任务以打开创建任务对话框。
  4. 打开操作页签,然后点击新建
  5. 点击浏览按钮并在程序/脚本字段中选择上传工具命令行批处理文件 UploadFromDB.bat。请确保您已在上传工具配置文件中提供了必要的设置。
  6. 添加自变量字段中,输入以下命令行自变量。
    <zoho_login_email_address> -A <authtoken>

    示例

    eduardo@zillum.com -A bad18eba1ff45jk7858b8ae88a77fa30

  7. 触发器页签中指定触发任务的时间。
  8. 点击确定以保存任务。

在 Linux 或 Mac 操作系统中设置安排

在 Linux 和 Mac 中,您可以使用 crontab 命令以使用命令行脚本 UploadFromDB.sh 来安排迁移过程。(请参阅关于 Linux Crontab 命令的简单帮助

以下步骤说明如何设置 cron 实用程序以按特定间隔安排数据上传。

  1. 打开终端并输入以下命令。
    crontab -e
  2. 将参数作为命令附加到以下格式中:
    MIN HOURS * * * /UploadToolHome/bin/UploadFromDB.sh username -A authtoken
    注:* 运算符用于指定字段的所有可能值。
    示例
    30 8 * * * /UploadToolHome/bin/UploadFromDB.sh eduardo@zillum.com -A bad18eba1ff45jk7858b8ae88a77fa30
    上述脚本将在每天上午 8:30 执行上传工具,从受 JDBC 支持的数据库上传数据。
  3. 保存该文件。

crontab 的语法

以下是用于安排上传工具的 crontab 语法。

MIN HOUR DOM MON DOW CMD ARG1 ARG2 ..

  • MIN: 分钟(0 至 59)
  • HOUR: 小时(0 至 23)
  • DOM: 月中的一天(1 至 31)
  • MON: 月份字段(1 至 12)
  • DOW: 周中的一天(0 至 6)
  • CMD: 要执行的命令。要安排数据上传,请指定 UploadFromDB.sh 文件的绝对路径
  • ARG: 自变量/参数将传递给脚本。这是可选字段。

点击此处以了解有关 cron 工作的更多信息。

使用命令行模式安排定期上传时要考虑的要点:

  • 用户有责任通过相应地设置安排间隔,来确保将最新数据上传到 Zoho Analytics。还要确保已提供适当的 SQL Select 查询来拉取数据。
  • 如果您已在要上传的本地数据库的表中删除了少量记录,则从 Zoho Analytics 数据库中删除这些记录的唯一选项是将导入类型设置为 TRUNCATEADD。这将删除 Zoho Analytics 中相应表中的所有记录,然后将新提取的记录从本地数据库添加到 Zoho Analytics 中。
  • 如果您在本地数据库的表中修改了少量记录,要想在 Zoho Analytics 数据库中进行此修改,请将导入类型设置为 UPDATEADD 并指定匹配的列。上传工具将根据匹配的列比较 Zoho Analytics 中相应表中的记录与从本地数据库表上传的数据。如果记录已存在于 Zoho Analytics 表中,则它将替换为本地数据库中可用的新值。如果没有,它将作为新记录添加到 Zoho Analytics 中。

在线查看数据

要查看您上传的数据:

  1. 请登录到 https://analytics.zoho.com.cn
  2. 点击“我的工作区”下的相应工作区名称。
  3. 点击左侧的相应表以打开表并查看上传的数据。

常见问题解答和故障排除提示

常见问题解答

1.我是否可以使用我的 Yahoo / Gmail / Google Apps / Facebook 用户凭证透过上传工具上传数据?

2.如何增加/减少上传的批次大小?

3.我是否可以允许共享用户上传数据到我的表中?

4.我是否可以使用 Windows 身份验证连接到受 JDBC 支持的数据库并提取要上传到 Zoho Analytics 的记录?

5.上传工具是否可用于将数据从远程托管数据库(JDBC 支持的、Oracle、MySQL、Sybase、PostgreSQL、DB2 和 DB2-AS/400)上传到 Zoho Analytics?

6.如何连接到特定的受 JDBC 支持的实例中的数据库并将数据上传到 Zoho Analytics 在线工作区?

7.是否可以使用上传工具从多个数据库提取数据?

8.在 Zoho Analytics 表中,是否必须遵循我的本地数据库中提供的类似列名?

9.如何将具有不同日期格式的数据从内部/本地数据库上传到 Zoho Analytics?

故障排除提示

问题 1:在尝试使用上传工具上传数据时,我收到消息“主机在超时 15000 毫秒内未接受连接”。如何解决此问题?

问题 2:在尝试上传文件时,我收到“内存不足”的错误消息。我可以如何解决此错误?

问题 3:在使用上传工具上传数据时,我收到消息“错误!很抱歉,您无法上传超过 50MB 的文件。”如何解决此问题?

问题 4:我收到一条错误消息,“此表中正在进行另一个导入,该导入由用户 'User name' 于 'time of import' 开始”。如何解决此问题?

问题 5:我收到消息“ZOHO_MATCHING_COLUMNS 未存在于请求参数列表中”。如何解决此问题?

问题 6:在使用上传工具上传数据时,我收到消息“错误!列“Column_Name”出现在匹配列中,但在上传数据时未出现在选定列中。如何解决此问题?

问题 7:我收到一条错误消息,“超出最大并发用户票证限制”。如何解决此问题?

问题 8:当我尝试从 MSACCESS 2007 导入数据至 Zoho Analytics 时,收到“找不到文件(未知)”错误。如何解决此问题?

问题 9:我收到一条错误消息,“您需要(重新)登录才能执行此操作。”我如何解决此问题?

分享此文章: FacebookTwitter

还是没有找到您要寻找的内容?

写信给我们:support@zohocorp.com.cn