如何使用PowerQuery将数据导入Oracle

问题描述 投票:0回答:1

我通常通过 PowerQuery 连接 Oracle 和 Excel。例如,我在 Excel 中下载 Oracle SERVER.TABLE,执行以下操作: = Odbc.Query("dsn=SERVER", "SELECT * FROM TABLE;")。

现在我想做相反的事情。现在我在 Excel 中有一些数据,我想在 Oracle 中创建一个新表。换句话说,我想将我的 Excel 文件导入到 SERVER.TABLE_NEW。

如何使用 PowerQuery 执行此操作?感谢您的先进。

我尝试修改这一行 Odbc.Query("dsn=SERVER", "SELECT * FROM TABLE;")。但我没有成功。

oracle odbc powerquery
1个回答
0
投票

您可以使用 ODBC,但最好使用强大的查询编辑器 UI 通过 Oracle 特定的方法连接到 Oracle 数据库。性能会更高。

Power Query 不导出。期间。

但是,它可以执行SQL语句!

所以,你已经掌握了它的主要部分。在你的情况下,类似

let
  SQL = "INSERT INTO table_name (column1, column2, column3)
VALUES
  (1, 11, 'apple'),
  (2, 22, 'banana');”,
  #"Executed SQL" = Odbc.Query("dsn=SERVER", SQL)
in
  #"Executed SQL"

所以现在的问题只是将

SQL
变量设置为正确的字符串。

如果您有一个名为 MyTable 的表查询,那么您可以创建第二个名为 MyTableSQL 的查询,您可以使用它来代替硬编码的 SQL 字符串,例如

let
  SQL1 = "INSERT INTO table_name (column1, column2, column3)
VALUES",
  SQL2 = Text.Combine(
    Table.TransformRows(
      MyTable,
      each Text.Combine(
        {
          "  (",
          Text.From([Column1]),
          ", ",
          Text.From([Column2]),
          ", '",
          [Column3],
          "')"
        }
      )
    ),
    ",#(lf)" // line feed char
  ),
  SQL = Text.Combine(
    {
      SQL1,
      SQL2
    },
    "#(lf)"
  )
in
  SQL
© www.soinside.com 2019 - 2024. All rights reserved.