package编译错误
1. 从项目的数据库里面 view 出的pkg 然后再PLsql 中编译却直接报错!。。别人电脑上都没错。。
Oracle package 包含2个部分
一部分是
create or replace package PKG_LIFE as
一部分是
CREATE OR REPLACE package body PKG_LIFE as
你第一部分的代码复制执行了么?
下面就是一个 没有定义 程序包, 直接去编译 程序包主体 出错的例子代码.
SQL> create or replace package body pkg_helloworld as
2 PROCEDURE helloworld
3 AS
4 BEGIN
5 dbms_output.put_line('Hello World');
6 END;
7 end;
8 /
警告: 创建的包体带有编译错误。
SQL> show err
PACKAGE BODY PKG_HELLOWORLD 出现错误:
LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0 PL/SQL: Compilation unit analysis terminated
1/14 PLS-00201: 必须声明标识符 'PKG_HELLOWORLD'
1/14 PLS-00304: 如果没有说明, 则无法编译 'PKG_HELLOWORLD' 主体
下面就是一个 先定义 程序包, 后编译 程序包主体 通过的例子代码.
SQL>
SQL> create or replace package pkg_helloworld as
2 PROCEDURE helloworld ;
3 end;
4 /
程序包已创建。
SQL>
SQL> create or replace package body pkg_helloworld as
2 PROCEDURE helloworld
3 AS
4 BEGIN
5 dbms_output.put_line('Hello World');
6 END;
7 end;
8 /
程序包主体已创建。
2. oracle 创建存储过程报错, PACKAGE BODY SCOTT.EMP_SAL_MANAGEMENT 编译错误
子程序或游标 'P_P_BONUS' 已在程序包说明中声明, 必须在程序包体中对其进行定义。意思是你已经声明了这个存储过程P_P_BONUS,但是没有在包体(PACKAGE BODY )中定义,就是你还需要在包体中定义P_P_Bonus的实现部分
3. 解决MonoForAndroid不能编译问题
最近一直在用Xamarin Mono For Android,因为国内的资料太少,所以很多问题都需要自己动手去弄清除。前几天,很多群友反映了不能打包(或Debug)APK文件的问题,提示是这样的,错误:Could not create the Android package. See the Output (Build) window for more details.Mono For Android !错误:Could not create the Android package. See the Output (Build) window for more details.
吾乐吧软件站提醒大家,解决方法:
可能性1:可能是你的VS创建的项目路径含有中文或其他杂乱数据,建议直接创建在 D:\ 试试!!
2014年9月9日补充说明:
可能性2:错误详情里面有这么一句话:找不到D:\Program Files\Android\android-sdk\tools\\zipalign.exe
直接去这个目录 D:\Program Files\Android\android-sdk\build-tools\20.0.0\zipalign.exe
PS:上面路径中的20.0.0,换成你本地相应的路径,反正有zipalign.exe就可以
拷贝zipalign.exe到D:\Program Files\Android\android-sdk\tools\zipalign.exe,然后重启VS,接着重新编译就可以了
2013年4月20日补充说明:
Deployment failed because of an internal error: Failure [INSTALL_FAILED_INVALID_URI]
如果大家发现,路径没有中文目录、特殊字符,但还是不能打包编译,可能是因为你的APK文件已经生成了,但是被其他程序占用(例如:你用腾讯手机管家正在使用你的APK文件),请结束其他的程序,确定没有被占用,这样就可以顺利打包编译了。
4. go build失败,报方法undefined
在编写CLI脚本时,我遇到了一个常见问题:当尝试用`go build`编译代码时,程序会报错指出某个引用的方法未定义。虽然在集成开发环境(IDE)中,如GoLand,代码能够正常运行,但在进行编译时遇到了问题。
问题的核心在于Go语言的包(package)概念。通常,我们将主流程代码放在`main`包中,而其他方法或函数则在其他包中定义。在IDE中,点击主文件旁边的运行按钮时,编译器能够正确地解析并执行代码。然而,当使用`go build`命令进行编译时,问题就出现了。
原因在于,`main`包是一个特殊的包,它定义了一个独立可执行的程序,而不仅仅是库。当使用`go build`命令时,Go编译器将创建一个可执行文件,这个过程要求所有引用的函数和方法都在同一个包中定义,或者在导入的包中定义。
假设存在以下两个文件:
1. `main.go`,包含主程序和导入的其他包。
2. `operation.go`,包含需要在主程序中调用的方法。
错误在编译时出现,因为`main`包的目录名称与`operation`包的目录名称不同。在`main.go`中直接调用`operation.go`中的方法时,编译器找不到定义,从而引发“方法未定义”的错误。
解决这个问题的方法有两种:
1. **将`operation.go`放入一个单独的包**,然后在`main.go`中导入这个新包。这确保了所有需要的函数和方法都在同一个包中定义,使得`go build`能够正确编译程序。
按照上述方法修改代码后,再次执行`go build`命令时,程序将不再报错,一切恢复正常。