我一直在寻找数据传输服务来从Oracle 11g第2版数据库传输数据。我遇到了一些经过测试的第三方解决方案,效果很好。
但是!我想使用纯粹的第一方解决方案。所以我调查了一下,发现了Dataflow。
数据流已经有一些模板,我可以用它来传输数据。
我选择了“将jdbc转换为bigquery”模板。
它具有一些必需的参数和可选的参数
必填:jdbc连接URL,驱动程序类名称,源sql查询,bigquery输出表,jdbc驱动程序的GCS路径,bigquery加载过程的临时目录,临时位置
可选:jdbc用户名,jdbc密码
我在计算引擎中设置了一个VM,以托管oracle 11g第2版DB。我创建了一个数据库“数据库”,添加了一个表“ table1”,并在其中添加了一些行。
我使用以下参数在数据流中创建了一个作业:
jdbc连接URL:jdbc:oracle:thin:@VMinternalIP:1521:database
驱动程序类名称:oracle.jdbc.driver.OracleDriver
源SQL查询:select * from database.table1
bigquery输出表:<testproject-0122>:<testdataset>.<table1>
jdbc驱动程序的GCS路径:gs://testbucket/jdbc/ojdbc6.jar,gs://testbucket/jdbc/ojdbc5.jar,gs://testbucket/jdbc/ons.jar,gs://testbucket/jdbc/orai18n.jar,gs://testbucket/jdbc/simplefan.jar,gs://testbucket/jdbc/ucp.jar,gs://testbucket/jdbc/xdb6.jar
bigquery加载过程的临时目录:gs://testbucket/temporary
临时位置:gs://testbucket/temporary/amkortmp
jdbc用户名:username for oracle db
jdbc密码:password for oracle db
但是此作业失败并引发了五个错误。
作业状态:从jdbcIO读取失败,写入bigquery失败,成功删除输入
五个错误中的四个显示以下错误:
编辑:我更新了我的URL,没有连接错误,但是现在出现以下错误:
ava.sql.SQLSyntaxErrorException:ORA-00942:表或视图不存在
我可以看到该表在Oracle中。那么这是架构错误吗?
此Dataflow模板使用情况我怎么了?
检查oracle用户访问权限。