1
  • 我已经为 Visual Studio 安装了 Oracle Developer Tools (ODTwithODAC1120320_32bit)
  • 我已经运行了数据库配置助手来启用 oracle 数据库上的 .NET 层

然而,当我尝试部署一个简单的函数时,它无法编译并出现错误

C:\...\SQL Developer\Untitled2.sql
    Error(5,5): PLS-00201: identifier 'DBMS_CLR' must be declared
    Error(5,5): PL/SQL: Statement ignored
    Error(6,5): PL/SQL: Statement ignored
    Error(6,33): PLS-00201: identifier 'DBMS_CLR' must be declared
    Error(7,5): PL/SQL: Statement ignored
    Error(7,12): PLS-00201: identifier 'DBMS_CLR' must be declared

编译后的函数(它只是创建一个连接并返回输入的数字作为输出)

CREATE  OR REPLACE LIBRARY "PROJECT12_DLL" AS '$ORACLE_HOME\bin\clr\Project12.dll';
/
CREATE OR REPLACE FUNCTION GETNUMBER wrapped 
a000000
369
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
14a 138
Zi7LUdjyS4D8cjiW2nS3rf/pLZwwg0zQNW0VfC8CAP7qXStE8/w9Xuy8PFb6oFkbDrDC1e3j
Zk34tXgr6lXtdGr+HE4Zd/dftKfDHWt9DKWOvIwrjachIBIMrDl6XnT0WbVLJcw8YQkbZdYa
0Kh//cLT8GNZJp7U3mCDP6HgYyjtUjR8y+za14OE3TiB6rLIjmWX/mBOnMneXSAUftbdmifX
ub8cMk85fnBRyoj8xsbrNIYzHWAYAQ+tnHJcGZCu+Di/YqeZx840cRj99kDVECydQMf5HLD2
XzUOJ43wC5sdUklUwA==

/

当我在谷歌上搜索 PLS-00201 时,它提到:

  • 未正确安装和配置 Oracle Database Extensions for .NET
  • 未使用适用于 .NET 的 Oracle 部署向导正确部署 .NET 存储过程。

我想我已经做到了:

  • 我已经运行数据库配置代理来“配置”.Net 层(不可能进行很多配置,只是一个复选框和一个下拉菜单,供架构安装)
  • 我已经从 .net 部署了 dll(并且还尝试使用上面生成的脚本)

任何人都知道我还能尝试使其工作吗?(在 Windows-7-x64 机器上本地运行 oracle)。谢谢。

4

1 回答 1

0

我似乎有回答自己问题的坏习惯,无论如何,如果其他人遇到这个问题,我解决了 DBMS_CLR 上的编译器错误必须通过执行以下命令来声明:

GRANT EXECUTE ON DBMS_CLR TO public;
GRANT EXECUTE ON DBMS_CLRTYPE TO public;
GRANT EXECUTE ON DBMS_CLRPARAMTABLE TO public;
于 2013-09-27T08:47:51.263 回答