我想测试在AS400系统上运行的DB2存储过程.
我安装了IBM System i Access for Windows,可以对DB2数据库运行SQL命令.
我的问题是:执行存储过程的语法是什么,该存储过程接受参数并将结果作为输出参数返回并将值打印到屏幕上?
只是为了澄清:我不是问如何在代码中调用proc.我想执行proc并在gui工具中查看结果(类似于SQL Enterprise Manager).
我正在开发一个使用GStreamer库的应用程序.为了便于部署,我想收集本地捆绑中的所有GStreamer库.为此我写了一个小脚本,执行以下操作:
otool -L)install_name_tool)(如果您有兴趣,可以查看Ruby脚本.)
但是,我现在看到gst_init呼叫上的运行时错误:
(process:22843): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use g_type_init() prior to this function
(process:22843): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
Run Code Online (Sandbox Code Playgroud)
只有在我使用本地化库时才会出现这些错误.
Are there certain 'common pitfalls' when it comes to using install_name_tool? Does anyone have an idea what I could be doing wrong? If you need to know certain details then feel free to ask.
Update
I changed a few things:
Occasionally, Spring can't figure out what type a "value" should be. This happens when the property or constructor is of type "java.lang.Object". In these cases, Spring defaults to "java.lang.String". Sometimes this isn't the right choice, for example when using:
<jee:jndi-lookup id="test" jndi-name="java:comp/env/test"
default-value="10" expected-type="java.lang.Integer"/>
Run Code Online (Sandbox Code Playgroud)
如果查找失败并且必须回退到默认值,则表示类型不匹配.所以,相反,这需要做:
<bean id="test" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/test" />
<property name="defaultObject">
<bean class="java.lang.Integer">
<constructor-arg value="10" />
</bean>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
这有点冗长,特别是如果它们很多的话.是否有一些方便的方法来声明一个Integer/Long/Double/Float/String文字,而不必使用这种格式:
<bean class="java.lang.Integer">
<constructor-arg value="10" />
</bean>
Run Code Online (Sandbox Code Playgroud) 我目前有代码使用AudioRecord类从设备mic读取录音,然后使用AudioTrack类播放.
我的问题是,当我播放它时,它通过扬声器电话播放.
我希望它通过设备上的耳机播出.
这是我的代码:
public class LoopProg extends Activity {
boolean isRecording; //currently not used
AudioManager am;
int count = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setMicrophoneMute(true);
while(count <= 1000000){
Record record = new Record();
record.run();
count ++;
Log.d("COUNT", "Count is : " + count);
}
}
public class Record extends Thread{
static final int bufferSize = 200000;
final short[] buffer = new short[bufferSize]; …Run Code Online (Sandbox Code Playgroud) 需要一些关于这个的建议,因为我正在努力实现并无法弄明白.
我有一个文件,在PC上更新,以指示系统运行和运行的时间.我正在写一个非常简单的linux控制台应用程序(最终将成为一个nagios插件).读取此文件并根据文件中的内容进行响应.
我是Linux上编程和使用C的新手,所以请耐心等待,如果你能解释任何答案,我将非常感激.
基本上我想将包含5个字符的char数组转换为整数,但数组中的第5个字符始终是一个字母.所以从技术上讲,我想要做的就是将数组中的前4个字符转换为整数...如何?我试过多种方法但没有成功,我的问题是,目前我对语言没有很好的掌握,所以对它能做什么和不能做什么没有真正的想法.
这是我的程序的来源.
基本上buf数组将保存从文件中取出的字符串,看起来像这样
3455Y(数字将是随机的,但总是4个字符长).
很抱歉代码格式不佳,但我无法得到这个愚蠢的爱情窗口,也没有金钱来正确格式化....
include <fcntl.h>
include <unistd.h>
include <stdio.h>
include <stdlib.h>
include <time.h>
include <string.h>
define COPYMODE 0644
int main(int argc, char *argv[])
{
int i, nRead, fd;
int source;
int STATE_OK = 0;
int STATE_WARNING = 1;
int STATE_CRITICAL = 2;
int STATE_UNKNOWN = 3;
int system_paused = 0;
char buf[5];
int testnumber;
if((fd = open(argv[1], O_RDONLY)) == -1)
{
printf("failed open : %s", argv[1]);
return STATE_UNKNOWN;
}
else
{
nRead = read(fd, buf, …Run Code Online (Sandbox Code Playgroud) 跑' sudo gem list --local'和' gem list --local'给我不同的结果.我的宝石路径设置为我的主文件夹,只包含来自' gem list --local' 的宝石.
将gem安装在我的计算机上的不同目录中可能并不好,所以我应该以不同的方式设置gem路径,并且sudo在安装时应该总是使用吗?
my ~/.profile
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
〜/ .bash_profile是空的.
我有一个EditText显示时间.用户点击后EditText我想显示一个TimePickerDialog,所以我设置了一个View.OnClickListener到我的EditText.
但是OnClickListener表现得很奇怪 - 我触摸EditText然后软键盘出现(我不想要).当我再次触摸时,OnClickListener.onClick()最后调用并出现对话框.
如果我希望对话框立即显示,我该怎么办?
Windows XP专业版
这将在控制台中显示输出:
dir | find " free"
Run Code Online (Sandbox Code Playgroud)
这不是:
tasklist | find "Image Name"
Run Code Online (Sandbox Code Playgroud)
这样做:
tasklist | find /C "Image Name"
Run Code Online (Sandbox Code Playgroud)
这确实将预期的行写入文件中:
tasklist | find "Image Name" > foo.txt
Run Code Online (Sandbox Code Playgroud)
是什么原因造成的?
我有一个使用枚举的XML模式,但是当我在Delphi中查看生成的XML对象时,枚举限制已被删除.有没有办法让Delphi生成枚举并将其构建到对象中?
XSD代码段:
<xs:simpleType name="enumType" final="restriction">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Each"/>
<xs:enumeration value="Units"/>
<xs:enumeration value="Area"/>
<xs:enumeration value="Payroll"/>
<xs:enumeration value="Sales"/>
<xs:enumeration value="TotalCost"/>
<xs:enumeration value="Other"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
我期望在Delphi中看到的是一个接受枚举的字段,然后在生成XML时将其转换为相应的字符串,但该字段只是一个普通的字符串.
如果有一个字典项列表,如下所示:
L = [{"a":1, "b":0}, {"a":3, "b":1}...]
Run Code Online (Sandbox Code Playgroud)
我想根据"b"的值(0或1)拆分这些条目.
A(b=0) = [{"a":1, "b":1}, ....]
B(b=1) = [{"a":3, "b":2}, .....]
Run Code Online (Sandbox Code Playgroud)
我很熟悉使用简单的列表推导,我目前正在循环列表L两次.
A = [d for d in L if d["b"] == 0]
B = [d for d in L if d["b"] != 0]
Run Code Online (Sandbox Code Playgroud)
显然,这不是最有效的方式.
在列表推导功能中似乎没有else子句.
我能通过列表理解做我想做的事吗?
有一个更好的方法吗?
我正在寻找可读性和效率之间的良好平衡,倾向于可读性.
谢谢!
更新:感谢大家的意见和想法!对我来说最容易阅读的是托马斯的那篇.但我也会看看亚历克斯的建议.我以前没有找到任何对集合模块的引用.