簡體   English   中英

如何將記錄插入 BigQuery 鏈接服務器

[英]How to insert records into BigQuery Linked server

我已經使用 Simba ODBC 驅動程序將 SQL 服務器連接到 Bigquery 作為SQL Server Management Studio中的鏈接服務器。 無法插入 BigQuery,只能從 BigQuery 中插入 select 數據。 我也檢查了“ AllowInProcess ”和“ NonTransactedUpdate ”。

select * from openquery([GoogleBigQuery], 'select * from first.table2' )

上述 select 查詢正在運行。

詢問:

insert into OPENQUERY([GoogleBigQuery], 'select * from first.table2') values (1,'c')

產生的錯誤:

“由於列“id”,鏈接服務器“GoogleBigQuery”的 OLE DB 提供程序“MSDASQL”無法插入表“[MSDASQL]”。用戶沒有寫入該列的權限。

詢問:

INSERT INTO [GoogleBigQuery].[midyear-byway-252503].[first].[table2] select * from Learning_SQL.dbo.demo

產生的錯誤:

鏈接服務器“GoogleBigQuery”的 OLE DB 提供程序“MSDASQL”返回消息“多步 OLE DB 操作生成錯誤。如果可用,請檢查每個 OLE DB 狀態值。未完成任何工作。”。

由於列“id”,鏈接服務器“GoogleBigQuery”的 OLE DB 提供程序“MSDASQL”無法插入表“[GoogleBigQuery].[midyear-byway-252503].[first].[table2]”。 用戶無權寫入該列。

想知道是否有人嘗試使用鏈接服務器在 BigQuery 中插入數據集。

此錯誤是由於此限制造成的。 似乎 Microsoft 的 SQL 服務器“鏈接服務器”選項不支持對鏈接到的外部數據庫進行 INSERT、UPDATE 或 DELETE 調用,除非連接支持事務。

由於 BigQuery 不支持顯式事務,MSSQL 不允許對 BigQuery 進行 INSERT、UPDATE 或 DELETE 調用。

如果您想將數據插入 BigQuery,請考慮將數據導出到文件中,然后將該文件加載到 BigQuery 中。 導入文件可以是 Avro、CSV、JSON(僅限換行符分隔)、ORC 或 Parquet 格式。

如需了解詳情,請參閱將數據導入 BigQuery

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM