0

SQL Server 2019 で Azure CosmosDB (MongoDB API) に対して Polybase をセットアップしていますが、外部テーブルの作成に行き詰まっています。

次の定義を使用して、Cosmos DB に 1 つのサンプル ドキュメントを作成しました。

{
    "_id" : ObjectId("5ecc3fcd7791b617982fefa0"),
    "id" : "1",
    "products" : "2009",
    "item" : "Car",
    "type" : "Racecar"
}

サンプル コレクション用に Azure portal から抜粋

次のステートメントを実行すると:

CREATE EXTERNAL TABLE mongodb.Products 
( 
[_id] NVARCHAR(24) COLLATE Latin1_General_CI_AS NOT NULL,  
[id] NVARCHAR(10) COLLATE Latin1_General_CI_AS,
[products] NVARCHAR(10) COLLATE Latin1_General_CI_AS,
[item] NVARCHAR(10) COLLATE Latin1_General_CI_AS,
[type] NVARCHAR(10) COLLATE Latin1_General_CI_AS
) 
WITH ( 
LOCATION='Sales.Products', 
DATA_SOURCE= CosmosDB  
); 

メッセージが表示されます:

Msg 105083, Level 16, State 1, Line 1
105083;The following columns in the user defined schema are incompatible with the external table schema for table 'Products': user defined column: 'id' was not found in the external table, user defined column: 'products' was not found in the external table, user defined column: 'item' was not found in the external table, user defined column: 'type' was not found in the external table. The detected external table schema is: ([_id] NVARCHAR(24) COLLATE Latin1_General_100_CI_AS NOT NULL).

接続は良好のようです。Sales.Product を変更すると、テーブルが存在しないというメッセージが表示されます。

4

1 に答える 1

0

私はついにこれを解決することができました。Azure CosmosDB Mongo DB API に接続しようとしている場合は、SQL Server でファイルを編集する必要があるようです。

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\Polybase\ODBC Drivers\PolyBase ODBC Driver for MongoDb.ini を見つける必要があります。

2行を変更します

から (動作しません): Driver=PolyBase ODBC Driver for MongoDb\2.3.8\MongoDBODBCsb64.dll Setup=PolyBase ODBC Driver for MongoDb\2.3.8\MongoDBODBCsb64.dll

To (works) Driver=PolyBase ODBC Driver for MongoDb\MongoDBODBCsb64.dll Setup=PolyBase ODBC Driver for MongoDb\MongoDBODBCsb64.dll

これは、Microsoft サポート チームによって提供されたソリューションです。

于 2020-06-11T13:05:12.983 に答える