华为云用户手册

  • RANGE_N with different partition INTERVAL 输入: CREATE MULTISET TABLE tab1 ( TICD VARCHAR(10) , TCIT VARCHAR(10) , TCCM VARCHAR(50) , DW_Stat_Dt DATE ) PRIMARY INDEX ( TICD ) PARTITION BY RANGE_N ( DW_Stat_Dt BETWEEN DATE '0001-01-01' AND DATE '0001-01-04' EACH INTERVAL '1' DAY, DATE '0001-01-05' AND DATE '1899-12-31', DATE '1900-01-01' AND DATE '1900-01-01', DATE '1900-01-02' AND DATE '1999-12-31', DATE '2000-01-01' AND DATE '2009-12-31' EACH INTERVAL '1' YEAR, DATE '2010-01-01' AND DATE '2021-12-31' EACH INTERVAL '1' DAY, DATE '9999-12-31' AND DATE '9999-12-31', NO RANGE ); 输出: CREATE TABLE tab1 ( TICD VARCHAR( 10 ) , TCIT VARCHAR( 10 ) , TCCM VARCHAR( 50 ) , DW_Stat_Dt DATE ) DISTRIBUTE BY HASH (TICD) PARTITION BY RANGE (DW_Stat_Dt) ( PARTITION tab1_0 START (DATE '0001-01-01') END (DATE '0001-01-04') EVERY (INTERVAL '1' DAY), PARTITION tab1_1 START (DATE '0001-01-04') END (DATE '1899-12-31'), PARTITION tab1_2 START (DATE '1899-12-31') END (DATE '1900-01-01'), PARTITION tab1_ 3 START (DATE '1900-01-01') END (DATE '1999-12-31'), PARTITION tab1_4 START (DATE '1999-12-31') END (DATE '2009-12-31') EVERY (INTERVAL '1' YEAR) , PARTITION tab1_5 START (DATE '2009-12-31') END (DATE '2021-12-31') EVERY (INTERVAL '1' DAY) , PARTITION tab1_6 START (DATE '2021-12-31') END (DATE '9999-12-31') );
  • 导出函数/过程DDL 可通过右键单击“导出DDL”导出该函数/过程定义。 在“对象浏览器”窗格中,右键单击所选函数/过程,选择“导出DDL”。 用户需自定义导出路径。如果需要将数据压缩,勾选“.zip”选项。 “Data Studio安全免责声明”必须勾选“我同意”才可以单击“确定”。用户可关闭安全免责声明,关闭后导出DDL时将不会再出现,详情请参见表1。 单击“确定”,右下角的状态栏会显示操作进度。 如果文件名包含Windows中文件名不支持的字符,则文件名的名称会与模式名称不同。 要执行该操作,需要MS Visual C Runtime文件(msvcrt100.dll)。详情请参阅故障处理。 “导出完成”对话框和状态栏显示已完成操作的状态。 表1 支持导出DDL的编码格式 数据库编码 文件编码 支持导出DDL UTF-8 UTF-8 是 GBK 是 LATIN1 是 GBK GBK 是 UTF-8 是 LATIN1 否 LATIN1 LATIN1 是 GBK 否 UTF-8 是
  • 调试函数/过程 断点用于暂停其所在行中的PL/SQL程序的执行,可用断点控制执行并调试过程。设置并启用断点后,PL/SQL程序会在该断点所在的行停止执行,此时用户可以进行其他调试操作。 设置或添加断点 Data Studio支持为某行设置或创建断点。 打开需要添加断点的函数/过程,双击行号字段左侧的断点标尺,设置断点,断点标志启用表示操作成功。如果函数在调试过程中不会间断或停止执行,则为其设置的断点未生效。 使用“断点”窗格 在“断点”窗格中可查看和管理已有断点。可从最小化窗口窗格中单击断点按钮打开“断点”窗格。 在“断点”窗格中,勾选断点复选框,单击“启用”、“禁用”或“移除”按钮,进行断点启用、禁用或者删除操作。也可双击行号字段左侧的断点标尺设置断点;双击断点图标,将断点删除。 在“PL/SQL Viewer”窗格,双击所需断点信息行,定位该断点。 “断点”窗格会列出每一个断点所在行的行号以及调试对象的名称。 禁用断点后,程序不会在该断点处暂停执行,但该断点仍会保留(以备将来启用)。 删除的断点无法恢复。 按下“Alt+Y”可复制“断点”窗格内容。 修改源代码 调试过程中,如果用户修改了从服务器获取的源代码,并继续进行调试,Data Studio会提示错误:建议刷新该对象,再次执行调试操作。 如果用户修改了从服务器获取的源代码,且在未设置断点的情况下执行或调试了该代码,Data Studio会显示服务器中源代码的执行结果。建议在进行调试或者执行前,进行刷新操作。 使用断点调试函数/过程 在要调试的行创建断点后,单击“调试”按钮或在“对象浏览器”中右键单击函数,选择“调试”。在弹出的“调试函数/过程”对话框中,输入参数信息。 如果没有输入参数,则“调试函数/过程”对话框不会弹出。 对于varchar和date数据类型,参数值需加半角单引号(');对于numeric数据类型,参数值可以不加半角单引号。要将参数值设为NULL,需输入NULL或null。 调试或执行函数或过程期间,相同参数的值会在下次操作中被直接使用。首次执行时,参数值为空,可根据需要输入参数值。单击“确定”,参数值将被缓存。下次查询时,执行/调试期间会显示上次缓存的相同参数的值。某一连接被删除后,缓存的所有参数值都会被清除。 调试过程中“调用堆栈”窗格会填充信息。 “变量”窗格显示当前的变量值。将鼠标悬停在函数/过程中的变量上,也会显示当前的变量值。“变量”窗格默认显示系统变量。必要时,用户可以屏蔽系统变量。按钮默认开启,即默认启用系统变量。 设置/展示变量 说明 设置NULL值 在“变量”窗格中双击一个变量值。 弹出对话框。 设置值为空。 设置字符串值 设置字符串值如下: 要设置为abc,则输入abc。 要设置为Master's Degree,则输入Master''s Degree。 要将变量设置为文本(NULL),在“变量”窗格中设置NULL。 设置Boolean值 Boolean值t或f上加单引号。将t设成一个boolean变量,则在Variable窗格中输入't'。 显示变量值 如果变量值是NULL文本,则显示为NULL。 如果变量值是NULL,则显示为空。 如果变量值为字符串,比如abc,则显示为abc。 调试函数/过程期间,在编辑器中右键单击变量,可将变量添加至“监视器”窗格。如果变量处于被监控状态,“监视器”窗格中的值会随“变量”窗格中值的变化而变。 在Data Studio中调试PL/SQl函数期间,将光标放在变量上方,则会显示该变量的信息。 终止调试 在工具栏中单击“终止调试”按钮或在“调试”菜单中选择“终端调试”。调试完成后,函数会继续正常执行,不会在任何断点暂停。 调试完成后,“结果”页签中显示函数执行结果,“调用堆栈”和“变量”窗格将被清除。 Data Studio支持在调试完成后,提交/回滚查询结果。右键单击执行函数的终端窗格,勾选“使用回滚进行调试”启用回滚功能。 如果启用了“使用回滚进行调试”选项,则调试后获取的函数执行结果不会保存在数据库中。 如果禁用了“使用回滚进行调试”选项,则调试后获取的函数执行结果被提交到数据库中。
  • 创建函数/过程 在“对象浏览器”窗格中,右键单击待创建PL/SQL过程的指定模式下的“函数/过程”,按照要求选择“创建函数”、“创建SQL函数”、“创建过程”或“创建C函数”。 例如右键单击“函数/过程”,弹出如下菜单: Data Studio在新页签中显示所选模板。 完成添加函数/过程后,可选择“编译”按钮或在页签空白处右键单击选在“编辑”选项编译该函数/过程。 编译运行成功后会在“对象浏览器”中显示新函数/过程。 过程名称旁的星号(*),表示该过程不被编译或添加到“对象浏览器”。 刷新(按下“F5”)后,“对象浏览器”中会显示新添加的调试对象。 C函数不支持调试操作。 弹出消息显示已完成操作的状态。状态栏将不显示此操作的状态。
  • 编辑函数/过程 在“对象浏览器”中双击所需过程/函数或SQL函数,或右键单击函数/过程或SQL函数并选择“查看源”。 “PL/SQL Viewer”页签显示所选函数/过程或SQL函数。 用户必须刷新“对象浏览器”才能查看最新DDL。 拥有相同模式、名称和输入参数的函数/过程或SQL函数一次只能打开一个。 编辑或更新后,可以编译并执行该PL/SQL程序或SQL函数。 在编译前若执行函数/过程或SQL函数,会显示一条“改变源代码”的提示。 单击“是”,编译并执行PL/SQL函数/过程。“消息”对话框显示已完成操作的状态。 编译函数/过程或SQL函数后,刷新“对象浏览器”(按下“F5”)查看更新后信息。
  • 控制执行 单步调试PL/SQL函数 调试执行函数时,可使用工具栏中的单步调试命令。通过进行单步控制,可逐行调试程序。如果进行单步操作时遇到断点,则该单步操作会停止,程序也会暂停执行。 “单步”是指一次执行一条语句。单步执行一条语句后,可以在其他调试窗口中查看执行结果。 一次最多可以弹出100个“PL/SQL Viewer”页签。如果打开的页签超过100个,则调用函数页签关闭。例如,如果已打开100个页签,且调试对象调用了新调试对象,则Data Studio会关闭调用函数并打开新的调试对象。 单步进入 在“调试”菜单中选择单步进入,可以逐条语句执行代码。 当单步跳入一个函数,Data Studio执行当前语句,然后进入调试模式,调试位置由左侧标尺区域中的箭头表示。如果执行语句调用另一个函数,Data Studio将单步跳入该函数。一旦函数中的所有语句执行完成,Data Studio将跳回其调用函数的下一语句。 单步进入(F7),进入下一语句如果按“继续”,PL/SQL代码执行将继续。 单步跳过 单步跳过与单步进入相同,除非调用了另一个函数,否则不会跳入该函数。该函数将运行,进入当前函数中的下一个语句。F8是单步跳过的快捷键。如果该调用函数内设置了断点,单步跳过将进入该函数,并命中该断点。 单步退出 子程序单步退出,继续该函数的执行,在该过程返回其调用函数后,暂停执行,确定该函数的剩余部分无需调试后,可单步退出该段函数。然而,如果该函数其余部分设置了断点,在返回调用函数前,该断点将被命中。 单步跳过和单步退出过程都会执行函数。单步退出操作的快捷键是“Shift+F7”。 继续执行 调试进程在某一位置停止时,可在“调试”菜单中选择“继续”(F9)继续PL/SQL函数执行。 查看调用堆栈 “调用堆栈”窗格展示调用过程时的过程链。可从最小化窗口窗格中打开“调用堆栈”窗格。最近的过程在顶部,最早的在底部,每个程序名的末尾是该过程的当前行号。 双击“调用堆栈”窗格中的函数名,通过“调用堆栈”窗格在多个函数中导航。
  • Flink SQL概述 DWS-connector主要实现了DynamicTableSourceFactory和DynamicTableSinkFactory接口,可用于对接 GaussDB (DWS)表作为Flink作业的源表、结果表和维表。 使用DWS-Connector做源表时,DWS-Connector实现了SupportsLimitPushDown和SupportsFilterPushDown接口,支持将limit和where条件下推到数据库执行。 使用DWS-Connector做结果表时,SQL语法格式可能在不同Flink环境下有细微差异,具体以事件环境格式为准。 详情请参见做源表、做结果表和做维表。 父主题: Flink SQL作业类型
  • 导出DDL和数据 可通过右键单击“导出DDL”导出该模式下函数/过程、表、序列和视图的定义。如果需要导出数据,可右键单击“导出DDL和数据”。 在“对象浏览器”窗格中,右键单击所选模式,选择“导出DDL”。 用户需自定义导出路径。如果需要将数据压缩,勾选“.zip”选项。 “Data Studio安全免责声明”必须勾选“我同意”才可以单击“确定”。用户可关闭安全免责声明,关闭后导出DDL时将不会再出现,详情请参见表1。 单击“确定”,右下角的状态栏会显示操作进度。 如果文件名包含Windows中文件名不支持的字符,则文件名的名称会与模式名称不同。 要执行该操作,需要MS Visual C Runtime文件(msvcrt100.dll)。详情请参阅故障处理。 可选择并导出多个对象的DDL。批量导出章节列举了不支持导出DDL的对象。 “导出完成”对话框和状态栏显示已完成操作的状态。 表1 支持导出DDL的编码格式 数据库编码 文件编码 支持导出DDL UTF-8 UTF-8 是 GBK 是 LATIN1 是 GBK GBK 是 UTF-8 是 LATIN1 否 LATIN1 LATIN1 是 GBK 否 UTF-8 是
  • LIKE ALL/NOT LIKE ALL 输入:LIKE ALL/NOT LIKE ALL 1 2 3 SELECT c1, c2 FROM tab1 WHERE c3 NOT LIKE ALL ('%STR1%', '%STR2%', '%STR3%'); 输出: 1 2 3 SELECT c1, c2 FROM tab1 WHERE c3 NOT LIKE ALL (ARRAY[ '%STR1%', '%STR2%', '%STR3%' ]);
  • LIKE ANY/NOT LIKE ANY 输入:LIKE ANY/NOT LIKE ANY 1 2 3 SELECT c1, c2 FROM tab1 WHERE c3 LIKE ANY ('STR1%', 'STR2%', 'STR3%'); 输出: 1 2 3 SELECT c1, c2 FROM tab1 WHERE c3 LIKE ANY (ARRAY[ 'STR1%', 'STR2%', 'STR3%' ]);
  • 创建数据库 在“对象浏览器”窗格中右键单击“数据库”组,选择“创建数据库”。 弹出“创建数据库”对话框,提示您提供创建数据库所需信息。 输入数据库名称。 从“数据库编码”中选择所需编码字符集类型。数据库支持UTF-8、GBK、SQL_ASCII和LATIN1编码字符集,使用其他编码字符集创建数据库可能导致操作出错。 只有当至少存在一个已连接的数据库时才能执行此操作。 勾选“连接到该数据库”,然后单击“确定”。 状态栏显示已完成操作的状态。 “对象浏览器”显示所创建的数据库。服务器上系统相关模式自动添加到新的数据库。
  • 系统视图 DSC将系统视图dbc.columnsV和dbc.IndicesV进行迁移,输出如下结果。 输入: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 SELECT A.ColumnName AS V_COLS ,A.columnname || ' ' ||CASE WHEN columnType in ('CF','CV') THEN CASE WHEN columnType='CV' THEN 'VAR' ELSE '' END||'CHAR('||TRIM(columnlength (INT))|| ') CHARACTER SET LATIN'|| CASE WHEN UpperCaseFlag='N' THEN ' NOT' ELSE '' END || ' CASESPECIFIC' WHEN columnType='DA' THEN 'DATE' WHEN columnType='TS' THEN 'TIMESTAMP(' || TRIM(DecimalFractionalDigits)||')' WHEN columnType='AT' THEN 'TIME('|| TRIM(DecimalFractionalDigits)||')' WHEN columnType='I' THEN 'INTEGER' WHEN columnType='I1' THEN 'BYTEINT' WHEN columnType='I2' THEN 'SMALLINT' WHEN columnType='I8' THEN 'BIGINT' WHEN columnType='D' THEN 'DECIMAL('||TRIM(DecimalTotalDigits)||','||TRIM(DecimalFractionalDigits)||')' ELSE 'Unknown' END||CASE WHEN Nullable='Y' THEN '' ELSE ' NOT NULL' END||'0A'XC AS V_ColT - ,B.ColumnName AS V_PICol FROM dbc.columnsV A LEFT JOIN dbc.IndicesV B ON A.columnName = B.columnName AND B.IndexType IN ('Q','P') AND B.DatabaseName = '${V_TDDLDB}' AND B.tablename='${TARGET_TABLE}' WHERE A.databasename='${V_TDDLDB}' AND A.tablename = '${TARGET_TABLE}' AND A.columnname NOT IN ( 'ETL_JOB_NAME' ,'ETL_TX_DATE' ,'ETL_PROC_DATE' ) ORDER BY A.columnid; 输出: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 DECLARE lv_mig_V_COLS TEXT; lv_mig_V_ColT TEXT; lv_mig_V_PICol TEXT; BEGIN SELECT STRING_AGG(A.ColumnName, ',') , STRING_AGG(A.columnname || ' ' ||CASE WHEN columnType in ('CF','CV') THEN CASE WHEN columnType='CV' THEN 'VAR' ELSE '' END||'CHAR('||TRIM(mig_td_ext.mig_fn_castasint(columnlength))|| ') /*CHARACTER SET LATIN*/'|| CASE WHEN UpperCaseFlag='N' THEN ' NOT' ELSE '' END || ' /*CASESPECIFIC*/' WHEN columnType='DA' THEN 'DATE' WHEN columnType='TS' THEN 'TIMESTAMP(' || TRIM(DecimalFractionalDigits)||')' WHEN columnType='AT' THEN 'TIME('|| TRIM(DecimalFractionalDigits)||')' WHEN columnType='I' THEN 'INTEGER' WHEN columnType='I1' THEN 'BYTEINT' WHEN columnType='I2' THEN 'SMALLINT' WHEN columnType='I8' THEN 'BIGINT' WHEN columnType='D' THEN 'DECIMAL('||TRIM(DecimalTotalDigits)||','||TRIM(DecimalFractionalDigits)||')' ELSE 'Unknown' END||CASE WHEN Nullable='Y' THEN '' ELSE ' NOT NULL' END||E'\x0A', ',') , STRING_AGG(B.ColumnName, ',') INTO lv_mig_V_COLS, lv_mig_V_ColT, lv_mig_V_PICol FROM mig_td_ext.vw_td_dbc_columnsV A LEFT JOIN mig_td_ext.vw_td_dbc_IndicesV B ON A.columnName = B.columnName AND B.IndexType IN ('Q','P') AND B.DatabaseName = 'public' AND B.tablename='emp2' WHERE A.databasename='public' AND A.tablename = 'emp2'; -- ORDER BY A.columnid; END; / 父主题: Teradata语法迁移
  • 不同日志级别类型 Data Studio.log文件中所显示的不同类型的日志级别如下: TRACE:相比DEBUG级别,TRACE级别提供更为详细的信息。 DEBUG:DEBUG级别指粒状信息事件,对调试应用程序最为有用。 INFO:INFO级别指着重显示应用进程的消息。 WARN:WARN级别指潜在的有害情况。 ERROR:ERROR级别指错误事件。 FATAL:FATAL级别指事件造成应用终止。 ALL:ALL级别指启用所有日志级别。 OFF:OFF级别指禁用所有日志级别和ALL级别相反。 如果用户输入无效的日志级别值,日志级别会设置为WARN。 如果用户未指定日志级别,日志级别会设置为WARN。
  • 日志消息描述 日志消息描述如下图所示: Data Studio.log文件大小达到最大值10000 KB时,系统会自动创建一个文件并另存为Data Studio.log.1。Data Studio.log中的日志将存储在Data Studio.log.1文件中。当Data Studio.log文件再次达到最大值,系统继续自动创建一个文件并另存为Data Studio.log.2。最新日志持续写入Data Studio.log文件。以此类推,此过程将一直持续,直到Data Studio.log.5文件达到最大值,该循环重新开始。Data Studio将删除最早的日志文件,即Data Studio.log.1。例如,Data Studio.log.5重命名为Data Studio.log.4,Data Studio.log.4重命名为Data Studio.log.3,以此类推。 如需启用服务器日志文件的性能日志记录功能,需启用配置参数log_min_messages,且设置为data/postgresql.conf配置文件中的debug1,即log_min_messages = debug1。
  • 下载并安装Data Studio客户端 GaussDB(DWS) 提供了基于Windows平台的Data Studio图形界面客户端,该工具依赖JDK,请先在客户端主机上安装JDK。 仅支持Java 1.8版本的JDK。 在Windows操作系统中,您可以访问JDK官网网站,下载符合操作系统版本的JDK,并根据指导进行安装。 登录GaussDB(DWS)管理控制台。在左侧导航栏中,单击“连接客户端”,进入“下载客户端和驱动”页面。 在“下载客户端和驱动”页面,下载“Data Studio图形界面客户端”。 请根据操作系统类型,选择“Windows x86”或“Windows x64”,再单击“下载”,可以下载与现有集群版本匹配的Data Studio工具。 单击“历史版本”可根据集群版本下载相应版本的Data Studio工具,建议按集群版本下载配套的工具。 图1 下载客户端 如果同时拥有不同版本的集群,选择与集群版本相对应的gsql版本客户端。在“集群管理”页面的集群列表中,单击指定集群的名称,再选择“集群详情”页签,可查看集群版本。 解压下载的客户端软件包(32位或64位)到需要安装的路径。 打开安装目录,双击Data Studio.exe,启动Data Studio客户端。 图2 启动客户端 表1 Data Studio安装包结构 文件夹/文件 说明 configuration 包含应用启动信息和所需Eclipse插件路径信息。 db_assistant 包含“SQL助手”功能相关的文件。 docs 包含《Data Studio用户手册.pdf》,本手册详细介绍了如何使用Data Studio工具。 包含在Data Studio中使用的开源软件的版权声明、许可证和书面邀约。 features 包含Eclipse(如富客户端协议GUI)和Data Studio特性。 p2 p2包含的文件用于提供和管理基于Eclipse和Equinox的应用。 plugins 包含必须的Eclipse和Data Studio插件。 tools 包含Data Studio的依赖工具。 UserData/ Autosave Logs/ Preferences/ Profile/ History/ Security/ 包含每个使用Data Studio的OS用户各自的文件夹。 Autosave:包含自动保存的查询和函数/过程信息。 Logs:包含Data Studio.log文件,该文件保存Data Studio所有操作的日志信息。 Preferences:包含Preferences.prefs文件,内容为自定义的首选项。 Profile:包含connection.properties文件、SQL执行历史、Profiles.txt文件,用于管理Data Studio中的连接信息。 Security:包含Data Studio安全管理所需文件。 说明: User Data文件夹在首个用户用Data Studio打开实例后创建。 日志文件夹、语言、内存设置、日志级别对所有用户生效。 Data Studio启动后,会创建日志文件夹、Data Studio.log文件、Preferences文件夹、Preferences.prefs文件、Profile文件夹、connection.properties文件、Profiles.txt文件和security文件夹。 如果Data Studio.ini文件中指定了日志文件夹路径,日志会在指定路径创建。 如果您因安全密钥被损坏,无法登录Data Studio,请按如下步骤生成新的安全密钥: 从Data Studio文件夹下的UserData文件夹中删除security文件夹。 重启Data Studio。 artifacts.xml 包含产品编译版本信息。 changelog.txt 包含当前版本的详细变更信息。 Data Studio.exe/DataStudio.sh 支持连接服务器并执行各种操作,如管理数据库对象、编辑或执行PL/SQL程序。 Data Studio.ini 包含Data Studio工具运行时的配置信息。 readme.txt 包含当前版本的功能和修复的问题。 若您的电脑阻止应用运行,可对Data Studio.exe文件属性勾选解除锁定即可启动。 安装完成后双击安装目录/tools的中StartDataStudio.bat文件检查操作系统、 Java和Data Studio的版本。 批量文件检查版本兼容性并打开Data Studio,或根据安装的操作系统、Java和Data Studio版本,显示相应的信息。 如果安装的Java版本低于1.8,可能会弹出错误消息。 批量文件检查如下场景,用于确认Data Studio的操作系统和Java版本: DS安装(32/64位) 操作系统(位) Java(位) 结果 32 32 32 打开Data Studio 32 64 32 打开Data Studio 32 64 64 弹出错误消息 64 32 32 弹出错误消息 64 64 32 弹出错误消息 64 64 64 打开Data Studio 父主题: Data Studio
  • SQL终端 打开一个包含大量SQL语句的SQL文件,可能会出现“内存不足”错误。请参见故障处理。 对于“SQL终端”页签中被注释掉的文本,Data Studio不禁用自动建议和超链接功能。 如果模式名或表名中有空格或点(.),则不支持超链接。 如果对象名称中包含半角单引号(')或双引号("),则不支持自动建议功能。 Data Studio仅支持对简单的SELECT语句进行基本的格式化,对于复杂查询可能无法达到预期效果。
  • 安全 Data Studio在首次连接时验证SSL连接参数。在后续连接中,Data Studio不再验证SSL连接参数。如果勾选了“启用SSL”,打开新连接时,该连接会使用同样的SSL连接参数。 Data Studio连接时如果未勾选“启用SSL”默认是未加密的。 SSL连接中,如果安全文件被损坏,Data Studio将无法继续进行任何数据库操作。如果要修复该问题,请删除对应配置文件所在文件夹下的安全文件夹,然后重启Data Studio。
  • 通用 在编辑区域一次最多可打开100个页签。页签的显示取决于主机的可用资源。 数据库对象名最多可包含64个字符(仅限文本格式),数据库对象包括数据库、模式、函数、存储过程、表、序列、约束条件、索引和视图。但在Data Studio的表达式和说明中使用的字符数没有限制。 在Data Studio已登录的实例上最多可打开300个结果页签。 如果“对象浏览器”和“搜索对象”窗口中加载了大对象,则“对象浏览器”中对象展开的速度可能会变慢,同时Data Studio也可能会无法响应。 对于包含数据的单元格,如果数据超出了可显示区域,调整单元格宽度可能导致Data Studio无法响应。 表的单元格最多可显示1000个字符,超出部分显示为“...”。 如果用户从表或“结果”页签的单元格复制数据到任意编辑器(如SQL终端/PLSQL源编辑器、记事本或任意外部编辑器应用),将会粘贴全部数据。 如果用户从表或“结果”页签的单元格复制数据到一个可编辑的单元格(本单元格或其他单元格),该单元格仅显示1000个字符,并将超出部分显示为“...”。 导出表或“结果”页签数据时,导出的文件将包含全部数据。
  • 系统回显 ********************** Schema Conversion Started ************************* DSC process start time : Mon Jan 20 17:24:49 IST 2020 Statement count progress 100% completed [FILE(1/1)] Schema Conversion Progress 100% completed ************************************************************************** Total number of files in input folder : 1 ************************************************************************** Log file path :....../DSC/DSC/log/dsc.log DSC process end time : Mon Jan 20 17:24:49 IST 2020 DSC total process time : 0 seconds ********************* Schema Conversion Completed ************************ 如果输入文件夹中没有SQL文件,则在控制台上会显示如下消息:
  • 命令示例 ./runDSC.sh --source-db Teradata --input-folder opt/DSC/DSC/input/oracle/ --output-folder /opt/DSC/DSC/output/ --log-folder /opt/DSC/DSC/log/ --application-lang SQL --conversion-type ddl --targetdb gaussdbA
  • 参数说明 表1 参数列表 全称 缩写 数据类型 说明 范围 默认值 示例 --source-db -S 字符串 源数据库。 Teradata MySQL N/A --source-db Teradata(or) -S Teradata --input-folder -I 字符串 包含Teradata脚本的输入文件夹。 不适用 不适用 --input-folder /home/testmigration/Documentation/input (or) -I /home/testmigration/Documentation/input --output-folder -O 字符串 保持迁移后脚本的输出文件夹。 不适用 不适用 --output-folder /home/testmigration/Documentation/output(or)-O /home/testmigration/Documentation/output --application-lang -A 字符串 用于迁移的应用程序语言解析器。 SQL:迁移SQL文件中的SQL模式/脚本。 Perl:迁移Perl文件中的BTEQ/SQL_LANG脚本。 SQL Perl SQL --application-lang Perl 或 -A Perl --conversion-type -M 字符串 迁移类型。用户需根据输入脚本指定该参数: Bulk:迁移DML和DDL脚本。 BLogic:迁移业务逻辑,如过程和函数。 BLogic仅适用于Oracle PL/SQL。 Bulk BLogic Bulk --conversion-type ddl 或 -M ddl --log-folder -L 字符串 日志文件路径。 不适用 不适用 --log-folder /home/testmigration/Documentation(or)-L /home/testmigration/Documentation --version-number -VN 字符串 Oracle必选参数 Oracle 不适用 --version-number 或 -V1R8_330 --target-db -T 字符串 目标数据库 gaussdbA gaussdbA --target-db gaussdbA (或) -T gaussdbA
  • 类型对照 表1 空间数据类型对照表 MySQL空间数据类型 MySQL INPUT GaussDB(DWS) OUTPUT GEOMETRY GEOMETRY GEOMETRY POINT POINT POINT LINESTRING LINESTRING POLYGON POLYGON POLYGON POLYGON MULTIPOINT MULTIPOINT BOX MULTILINESTRING MULTILINESTRING BOX MULTIPOLYGON MULTIPOLYGON POLYGON GEOMETRYCOLLECTION GEOMETRYCOLLECTION GEOMETRYCOLLECTION GEOMETRY可以存储任何类型的几何值。其他单值类型(POINT, LINESTRING和POLYGON)将其值限制为特定的几何类型。 GEOMETRYCOLLECTION可以存储任何类型的对象的集合。其他集合类型(MULTIPOINT, MULTILINESTRING, MULTIPOLYGON,和 GEOMETRYCOLLECTION)限制集合成员像那些具有特定的几何形状的类型。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE `t_geo_test2` ( `id` int(11) NOT NULL, `name` varchar(255), `geometry_1` geometry NOT NULL, `point_1` point NOT NULL, `linestring_1` linestring NOT NULL, `polygon_1` polygon NOT NULL, `multipoint_1` multipoint NOT NULL, `multilinestring_1` multilinestring NOT NULL, `multipolygon_1` multipolygon NOT NULL, `geometrycollection_1` geometrycollection NOT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB; 输出示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 CREATE TABLE "public"."t_geo_test2" ( "id" INTEGER(11) NOT NULL, "name" VARCHAR(255), "geometry_1" GEOMETRY NOT NULL, "point_1" POINT NOT NULL, "linestring_1" POLYGON NOT NULL, "polygon_1" POLYGON NOT NULL, "multipoint_1" BOX NOT NULL, "multilinestring_1" BOX NOT NULL, "multipolygon_1" POLYGON NOT NULL, "geometrycollection_1" GEOMETRYCOLLECTION NOT NULL, PRIMARY KEY ("id") ) WITH ( ORIENTATION = ROW, COMPRESSION = NO ) NOCOMPRESS DISTRIBUTE BY HASH ("id");
  • GaussDB(DWS)关键字:SOURCE指定为无AS关键字的列别名 Netezza语法 迁移后语法 1 2 3 4 SELECT SUBSTR( OP_SOURCE ,1 ,4 ) SOURCE , ONLINE_FLAG, 'TRD' AS SRC_SYS , CURRENT_TIMESTAMP AS ETL_LOAD_TIME FROM tb_keyword_source; 1 2 3 4 SELECT SUBSTR( OP_SOURCE ,1 ,4 ) AS SOURCE , ONLINE_FLAG, 'TRD' AS SRC_SYS , CURRENT_TIMESTAMP AS ETL_LOAD_TIME FROM tb_keyword_source;
  • ATTRIBUTE (应指定AS) Netezza语法 迁移后语法 1 2 3 4 5 SELECT t1.etl_date, substr(t1.attribute,1,1) attribute , t1.cust_no, t1.branch_code FROM ( SELECT etl_date,attribute,cust_no,branch_code FROM tb_ntz_keyword_attribute WHERE etl_date = CURRENT_DATE ) t1; 1 2 3 4 5 SELECT t1.etl_date, substr(t1.attribute,1,1) AS attribute , t1.cust_no, t1.branch_code FROM ( SELECT etl_date,attribute,cust_no,branch_code FROM tb_ntz_keyword_attribute WHERE etl_date = CURRENT_DATE ) t1;
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 响应错误。 result ProjectRepository object 参数解释: 响应结果。 status String 参数解释: 响应状态。 取值范围: success,表示接口调用成功。 fail,表示接口调用失败。 表5 Error 参数 参数类型 描述 code String 参数解释: 错误码。 取值范围: 请参见错误码。 message String 参数解释: 错误信息。 取值范围: 字符串。 表6 ProjectRepository 参数 参数类型 描述 projectUuid String 参数解释: 项目ID,获取方式请参见获取项目ID。 取值范围: 32位字符串。 repositoryUuid String 参数解释: 仓库UUID。 取值范围: 32位字符串。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 参数解释: 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 表2 请求Body参数 参数 是否必选 参数类型 描述 import_members 否 Integer 参数解释: 是否导入项目成员。 约束限制: 不涉及。 取值范围: 0,不导入项目成员。 1,导入项目成员。 默认取值: 0 project_name 是 String 参数解释: 项目名称。 约束限制: 必传。 取值范围: 可以输入英文大小写字母、数字、连字符、下划线,且必须以字母开头。 默认取值: 不涉及。 repo_name 是 String 参数解释: 仓库名称。 约束限制: 必传。 取值范围: 以大小写字母、数字、下划线开头,可包含大小写字母、数字、中划线、下划线、英文句点,但不能以.git、.atom或.结尾。 长度为1-256。 默认取值: 0 type 否 String 参数解释: 项目类型,scrum。 约束限制: 不涉及。 取值范围: 默认取值: 0 visibility_level 否 Integer 参数解释: 仓库可见性。 约束限制: 不涉及。 取值范围: 私有仓库:仓库仅对仓库成员可见,仓库成员可读写和访问仓库,取值为0 公开仓库: 项目内成员只读仓库:仓库对项目内成员公开只读,并项目内成员可在项目下和代码组下的仓库列表中查看和搜索,取值为10 租户内成员只读仓库:仓库对租户内成员公开只读,并租户内成员可在项目下和代码组下的仓库列表中查看和搜索,取值为10 所有访客只读仓库:仓库对所有访客公开只读,并所有访客可在项目下和代码组下的仓库列表中查看和搜索,取值为20 默认取值: 0 external_project_info 否 ExternalKeyMessage object 参数解释: 第三方服务信息。 约束限制: 不涉及。 表3 ExternalKeyMessage 参数 是否必选 参数类型 描述 external_key_message 否 String 参数解释: 第三方保存在代码托管的关键信息。 约束限制: 不涉及。 取值范围: 字符串。 默认取值: 不涉及。 external_service 否 String 参数解释: 外部服务名称。 约束限制: 不涉及。 取值范围: 字符串。 默认取值: 不涉及。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 接口调用时,响应错误。 取值范围: 无。 result Webhook object 参数解释: 接口调用的响应结果。 取值范围: 无。 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 failed,表示接口调用失败。 表4 Error 参数 参数类型 描述 code String 参数解释: 调用此接口失败时返回的错误码。 取值范围: CH.000404,表示查询项目Webhook失败,您需要检查Webhook ID是否正确。 message String 参数解释: 调用此接口失败时返回的提示信息。
  • 响应示例 状态码: 200 OK { "result" : { "hooks" : [ { "id" : 2111600786, "project_id" : 2111615967, "created_at" : "2021-11-09 16:35:15", "enable_ssl_verification" : false, "push_events" : true, "tag_push_events" : false, "repository_update_events" : false, "merge_requests_events" : false, "issues_events" : false, "note_events" : false, "pipeline_events" : false, "wiki_page_events" : false } ] }, "status" : "success" }
  • URI DELETE /v1/projects/{project_uuid}/user-hooks/{hook_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_uuid 是 String 参数解释: 项目ID,获取方式请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由数字和字母组成,且长度为32个字符。 默认取值: 不涉及。 hook_id 是 String 参数解释: Webhook ID 约束限制: 不涉及。 取值范围: 只能由数字组成,且范围为0-2147483647。 默认取值: 不涉及。
  • 响应示例 状态码: 200 OK { "result" : { "id" : 5609, "project_id" : 453489, "created_at" : "2019-10-23 17:29:56", "enable_ssl_verification" : false, "push_events" : true, "tag_push_events" : false, "repository_update_events" : false, "merge_requests_events" : false, "issues_events" : false, "note_events" : false, "pipeline_events" : false, "wiki_page_events" : false, "build_events" : null }, "status" : "success" }
共100000条