将 SQL Server 表列及其类型导出到 BigQuery 表的最简单、最快捷的方法是什么?



我在SQL Server中有一个包含120列的表,我必须在BigQuery中复制相同的列名及其类型。

在 Bigquery 中为上述内容逐个创建具有其数据类型的表列需要花费大量时间。有没有更快的方法来创建它?

谢谢

你在寻找:

从 SQL Server 数据库生成 DDL 脚本

声明@C瓦尔查尔(200( 声明 C 游标 选择"执行 [DBO]。[SP_GETDDL]来自 SYS 的"+名称+"。表 打开 C 从 C 获取下一个到 @C 而 @@FETCH_STATUS=0 开始 执行 (@C( 从 C 获取下一个到 @C 结束 关闭 C 解除分配 C

你可以生成脚本..

  1. 右键单击您的数据库
  2. 转到生成脚本
  3. 选择要生成脚本的 Db 对象,例如(表、存储过程(!
  4. 点击"下一步按钮"
  5. 选择任何查询选项,如"新查询编辑器"或将文件保存到剪贴板..

您可以编写一个 sql 脚本,用于从INFORMATION_SCHEMA获取表架构。BigQuery JSON 架构格式形式的列视图:

[
{
"description": "[DESCRIPTION]",
"name": "[NAME]",
"type": "[TYPE]",
"mode": "[MODE]"
},
{
"description": "[DESCRIPTION]",
"name": "[NAME]",
"type": "[TYPE]",
"mode": "[MODE]"
}
]

然后只需使用此 JSON 在 BigQuery 中创建表即可。

但首先你需要在SQL Server和BigQuery之间映射数据类型。 例如,SQL Server 中的 varchar 等同于 bigquery 中的 STRING

您可以使用 JSON 通过 CLI、Python 甚至 Google 云控制台创建表。(指定架构(

一种简单的方法是从 SQL Server 将表的示例数据(可以是 10 行或更少,带标题,不带空值(导出为 CSV,然后将此文件加载到 Bigquery 中,并具有自动模式检测功能。

如果在此之后,你想要获取 Bigquery 架构以创建另一个表或将其用于另一个建议,则可以使用此命令获取架构。

bq show --schema --format=prettyjson dataset.table > schema.json

最新更新