I have followed the instructions for setting up a new ODBC connection to CosmosDB. I would like to use this ODBC connection in an SSAS tabular project but I don't see a way to do that. I am on SSDT 15.1. When I click the "Others" data source for OLEDB/ODBC in SSAS, it only gives me build options for OLEDB. It's not clear how I would use this to connect to my CosmosDB ODBC.
Has anyone figured out how to do this? According to Microsoft it is possible but they have no instructions for it.
答案 0 :(得分:1)
有可能。启动“ODBC数据源(32位)”应用程序并按照此article中的说明设置系统DSN。然后打开“ODBC数据源(64位)”并设置一个与32位DSN完全相同的系统DSN。原因是Visual Studio是32位,因此在执行某些步骤时需要32位驱动程序,但一旦SSAS将表加载到需要64位驱动程序的64位进程中的内存中。在工作站和工作区服务器上设置这些DSN(如果使用集成工作区则为本地DSN,如果使用远程工作区,则设置在开发服务器上)。
在Analysis Services表格中使用ODBC驱动程序似乎没有很好地记录。基本上你需要使用OLEDB作为ODBC驱动程序。
在SSAS模型中的Visual Studio中创建新连接时,只需键入以下连接字符串,而不是从下拉列表中选择驱动程序:
Provider=MSDASQL;DSN=YourDsnNameHere
如果您更喜欢在没有ODBC DSN的情况下更容易部署的内联连接字符串,那么您可以使用此连接字符串:
Provider=MSDASQL;DRIVER={Microsoft DocumentDB ODBC Driver};Host="https://yourcosmosdbname.documents.azure.com:443/";AuthenticationKey="authKeyHere!";LocalSchemaFile="c:\folder\yourCosmosSchema.json";KeyEncrypted=true;NumberOfRetries=5;DSNType=0;Consistency=1
无论使用哪个连接字符串,您都可能需要编写select * from CollectionName
之类的查询,而不是从表格列表中选择。
如果您使用的是1400兼容级别模型(Analysis Services 2017或Azure Analysis Services),那么您应该考虑使用具有原生Cosmos DB集成的modern get data experience,这种集成更加精致。