首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法找到列"ssma_oracle“或用户定义的函数或聚合"ssma_oracle.to_char_date",或者名称不明确。

无法找到列"ssma_oracle“或用户定义的函数或聚合"ssma_oracle.to_char_date",或者名称不明确。
EN

Stack Overflow用户
提问于 2022-08-10 18:07:48
回答 1查看 120关注 0票数 0

我们正在将数据库从Oracle迁移到MS SQL server (虽然我们喜欢oracle,但出于一些业务原因)。因此,我们使用SSMA ()作为迁移工具,在迁移我们的数据库时,将创建一个模式,并在"ssma_oracle“下自动生成一些函数,以支持to_char、to_date等甲骨文功能。在迁移的dtabase中,使用例如:ssma_oracle.to_char_numeric.to_number2等函数创建了一个新的模式

但是,有一种方法是,当我运行我的java应用程序时,这个工具无法创建"ssma_oracle.to_char_date",该应用程序之前指向oracle,现在指向MS (当然,我在java端为本地SQL查询、更改方言等做了更改),当我在hibernate java对象上运行更新时,我得到了"MicrosoftSQL server找不到列“"ssma_oracle”或用户定义的函数或聚合的"ssma_oracle.to_char_date",或者名称不明确。

因此,当我在MS服务器上浏览新数据库时,我会发现没有创建此方法。那是工具里的bug吗?有关SSMA工具及其创建的功能的更多信息在https://learn.microsoft.com/en-us/sql/ssma/oracle/project-settings-conversion-oracletosql?view=sql-server-ver16上使用:MicrosoftSQLServer2019 (RTM-CU15) - 15.0.4198.2 (X64)

EN

回答 1

Stack Overflow用户

发布于 2022-08-10 18:07:48

"SSMA4OracleSQLServerCollections.NET"函数是使用ssma_oracle.to_char_date程序集的高级特性,因此不能像传统的数据库对象那样编写脚本。

在SQL2019中,有一个名为‘clr严格安全’的高级安全选项,默认情况下它是启用的。此功能不允许在系统数据库中创建程序集。

在数据库实例级别禁用安全性选项之后,在我用SSMA工具从Oracle迁移的架构中,我能够成功地迁移/创建to_char_date函数使用的程序集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73310879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档