我们正在开发Datalake Analytics解决方案。我们一直在使用常规的U-SQL项目,这很好,但是您不得不进行打包和部署。 因此,我们尝试了U-SQL数据库项目。从理论上讲,它们要好得多,并且非常适合我们想要的。 我们创建了一个到目前为止包含以下内容的数据库项目:
它是从Visual Studio构建的,我可以看到usqldbpack
的输出。到目前为止,一切都很好。当我尝试部署它时,它总是会失败并显示隐秘消息
Deployment failed with Deployment failed with exception 'Failed to deploy DDL script, SDK helper app return failure '-1'' -> Failed to deploy DDL script, SDK helper app return failure '-1'
然后我检查了日志,看到了类似的东西
*** Error : (9,59) 'Type 'DatabaseProject1.dbo.MyTableType' does not exist.'
*** Compile failed !
然后,我看到了项目生成的ddl.usql
,并且Table Type在使用它的函数的下面。因此,难怪它会失败。
所以我想应该有一种方法可以让项目知道TVF取决于表类型,以便它可以正确地构建脚本。
有办法吗?
CREATE TYPE IF NOT EXISTS [dbo].[MyTableType]
AS TABLE
(
[id] string,
[name] string
);
CREATE PROCEDURE IF NOT EXISTS [dbo].[MyProcedure](@table dbo.MyTableType)
AS
BEGIN
OUTPUT @table
TO "/Output/ReferenceGuide/DDL/Procedure/MyTable.csv"
USING Outputters.Csv();
END;
*** Error : (9,59) 'Type 'DatabaseProject1.dbo.MyTableType' does not exist.'
*** Compile failed !