我有一个过程,其中只要该表中至少存在一行,在应用程序服务器中运行的程序必须访问Oracle数据库服务器中的表.每行数据涉及请求由程序执行某些数字运算的客户端.该程序只能串行执行此数字运算(即,一次对一个客户端而不是并行运行多个客户端).
因此,需要告知程序何时数据库中有数据可供处理.我也可以
问题1:有没有传统观点为什么一种方法可能比另一种方法更好?
问题2:我想知道程序是否有任何问题"一次运行"几个月(服务器中的任何进程是否会停止或破坏程序运行? - 如果是这样我不知道如何学习有一个问题,除非愤怒的客户).任何人都有在服务器上运行程序很长时间没有问题的经验?或者,如果服务器崩溃,有没有办法在服务器重新启动后自动启动它(即C语言可执行文件)程序,因此不需要人专门启动它?
任何建议表示赞赏
更新1:客户端正在等待结果,但是几秒钟的额外延迟(来自轮询)不是交易破坏者.
这是一个更为集中的问题,由此前的帖子引发.我需要通过证明用户可以访问它来验证用户的电子邮件地址.我在下面复制了一个您希望在加入开发者论坛或用户组时看到的通用电子邮件身份验证.作为注册过程的一部分,您需要提供您的电子邮件地址,然后您会收到一封电子邮件,要求您点击某些内容来验证您的电子邮件地址.
我需要对用户点击电子邮件中的链接时发生的任何事情进行编码.所以我的问题是 - 我该怎么做?
涉及哪些技术?任何人都可以带我走过这些台阶吗?我更喜欢像bash这样的Java或Linux脚本语言.更好的是,有没有为此目的开发的软件,我可以在我的Linux服务器上安装,并以某种方式集成它与我的数据库交谈?这在实践中是如何完成的?如果它已经可用,我不想重新发明一些东西.
To confirm your email address of:
youremail@yourdomain.net
please send a short reply to this address:
users-sc.1496854427.ckdpbmhncdlkjadkajfpecc-mylist=yourdomain.net@listdomain.com
Usually, this happens when you just hit the "reply" button.
If this does not work, simply copy the address and paste it into
the "To:" field of a new message.
or click here:
mailto:users-sc.1496854427.ckdpbmhncdlkjadkajfpecc-mylist=yourdomain.net@listdomain.com
This confirmation serves two purposes. First, it verifies that I am able
to get mail through to you. Second, it protects you in …Run Code Online (Sandbox Code Playgroud) C编程新手.我正在编写一个需要使用几个ansi C函数来处理数据的Web应用程序.另一种语言,可能是Java,将调用主C函数来触发该过程.我想从Java脚本的主C函数返回一个值来评估成功与否.我希望C出于这个原因使用exit().
当我开始编程C时,有几次我遇到了可以评估以检查程序是否正常运行的情况.例如,如果我有一个只能等于"等式1","等式2"或"等式3"的变量,那么我使用if {} else if {} else if {}语句来检查三者中的哪一个可能性,我可以添加一个else {}到最后,我希望它的内容永远不会在正常运行的程序中执行,以捕获意外的问题.我想exit(EXIT_FAILURE)在最后的另一个{}语句中添加一个.如果我理解正确,这将导致程序终止,并向Java调用程序返回一个非零值以供其检测.那是对的吗?
出于同样的原因,我可以在各种函数中使用此出口(EXIT_FAILURE),而不仅仅是main()吗?
关于设置它的机制的一些问题 - 主要功能是否设置为:int main(void);假设没有输入参数以简化?也就是说,int需要返回宏调用的整数值EXIT_FAILURE ...是吗?
如果main()函数调用另一个函数,并且该函数包含一个exit(EXIT_FAILURE)语句,那么其他函数是否需要在其原型中特别包含一个返回值,例如int function_one(void);,需要int返回EXIT_FAILURE状态,或者EXIT_FAILURE宏是否为self在这方面已经足够了,所以如果function_one想要返回一个字符,那么它的原型可以char function_one(void);而且不用担心在原型中为EXIT_FAILURE返回任何东西?
我正在生成一个在Java和C中执行大量数字运算的科学应用程序,准确性至关重要.在Oracle数据库中没有完成数字运算(它仅用于在数学计算之间存储变量).
我已经为我的所有Java和C变量使用了双精度数据类型,它主要基于IEEE 754.因此,写入数据库然后从数据库中读出的数据都来自双精度数据类型在C或Java中.
您建议我用什么来存储Oracle中的双精度数据 - NUMBER或BINARY DOUBLE?
例如,假设我有一个名为变量的变量X_Java,我将其作为变量写入数据库,X_DB作为BINARY DOUBLE.如果我从数据库中将这些数据读回Java并将其存储在变量中X_Java2,那么会X_Java完全匹配X_Java2吗?
我X_DB作为NUMBER 存储在数据库中会有什么变化?
更新1:请注意,我的"准确度"基准是数据库中读取的数字与在写入数据库之前可用的数字的接近程度.
一方面,我认为如果在编写INTO数据库之前可用的数字是基于IEEE 754,那么用于在数据库中存储该值的数据类型应该是完全匹配的,如果该数据类型也基于IEEE 754.
另一方面,由于64位(双精度)数字只能精确地存储精度的16位(有时17位),因此在数据库中以38位精度存储为NUMBER应准确地映射到双精度.一个缺点是NUMBER数据类型不能存储与BINARY DOUBLE一样大(或小)的值.
因此,我的帖子.
我在我的应用服务器上有一个非常简单的java程序(J.java,见下文),该程序使用Oracle的JDBC瘦驱动程序成功连接到数据库服务器上的Oracle 11.2数据库(两个服务器都是Linux CentOS).
正如您在下面的Java代码中的setURL命令中所看到的,我已将应用程序和数据库服务器配置为彼此相邻,并且它们位于同一网络上(交叉电缆相互连接),因此,除了我的代码之外,这些(开发)框上没有网络流量.
问题是执行时间变化很大.如果我运行它5次,它(看似随机)可能需要0.01秒,或10秒,或50秒,或超过一分钟才能执行.如果超过一分钟(大致),程序无法完成,但会返回下面显示的错误.
有什么想法可以在这里发生什么?
--------error returned when execution take more than about 1 minute-------
gn@host7 [~/fd]# java -cp ./ojdbc6_g.jar:. J
Exception in thread "main" java.sql.SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:494)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:547)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:225)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:29)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:556)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:454)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:328)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:233)
at J.main(J.java: line 16)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at oracle.net.ns.DataPacket.send(DataPacket.java:219)
at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:208)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:224)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:172)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:97)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:82)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:120)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:76)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1158)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1134) …Run Code Online (Sandbox Code Playgroud) 我可以使用JDBC驱动程序和以下Java代码很好地连接到Oracle 11.2数据库:
import java.sql.*;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import oracle.jdbc.OracleTypes;
...
Connection conn=null;
// connect to database
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("jdbc/myPool");
conn = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)
但是现在我需要将选项设置SetFloatAndDoubleUseBinary为true。参见第4-16页
http://docs.oracle.com/cd/E14072_01/java.112/e10589.pdf
因此,我尝试从此处遵循示例:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/urls.htm
我将代码修改为:
import java.sql.*;
import java.util.Properties;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import oracle.jdbc.OracleTypes;
...
Connection conn=null;
// set connection properties
Properties info = new java.util.Properties();
info.put ("SetFloatAndDoubleUseBinary","true");
// connect to database
Context context = new InitialContext();
DataSource ds = …Run Code Online (Sandbox Code Playgroud) 我正在使用Matlab来获取信号的FFT,而我却陷入了规范化的困境.具体来说,如何将频谱归一化为dBm单位.我知道0.316228是正确的归一化因子,但我的问题与如何正确地归一化二进制数有关.
我创建了以下程序来提出我的问题.只需将其剪切并粘贴到Matlab中即可自行运行.在线查看问题.
特别是,我很困惑如何规范箱子.例如,如果FFT具有索引1:end,其中end是偶数,当我计算FFT幅度谱时,我应该乘以(2/N)索引2:(end/2)?同样,奈奎斯特频率(位于索引末端/ 2 + 1)的bin是否归一化为(1/N)?我知道有很多方法可以根据个人的兴趣进行标准化.假设我正在使用的信号(下面的St)是从ADC捕获的电压.
任何反馈都非常感谢.提前致谢!
%% 1. Create an Example Signal
N = 2^21 ; % N = number of points in time-domain signal (St)
St = 1 + rand(N,1,'single'); % St = example broadband signal (e.g. random noise)
% take FFT
Sf = fft(St, N);
Sf_mag = (2/N)*abs(Sf(1: N/2 + 1));
Sf_dBm = 20*log10(Sf_mag / 0.316228); % 0.316338 is peak voltage of 1 mW into 50 Ohms
% Q: Are Sf_mag and Sf_dBm normalized correctly? (assume 0.316338 …Run Code Online (Sandbox Code Playgroud) 在c编程中,如果我在下面的等式中使用变量k,X,Y,n(其中exp()是数学常量e提高到(),pi = 3.14159 ...,并且j = sqrt(-1) )并且这些变量都被声明为64b双精度浮点数(其中X是复数),输出的结果也将是这种数据类型.
output = k * exp(2*pi*j*X*Y/n)
Run Code Online (Sandbox Code Playgroud)
现在,如果我想尝试更智能地管理内存,我想做
k,Y和n为32位无符号长整数int(0到4294967295),和
pi,j和X为32位浮点数.
我的问题是,输出的结果是数据类型float(希望是)还是unsigned long int?也就是说,C语言是否有一些默认规则可以智能地将浮点数和整数相乘并将结果作为float返回,或者我必须使用类型转换等手动管理它?只是想知道在这样的操作中是否有任何我需要担心的事情,或者我是否可以将它留给C来在幕后智能地做所有事情.
我是Actionscript编程的新手.我试图弄清楚从函数返回多个变量的最佳方法是什么,每个变量都有不同的数据类型.例如,如果函数需要返回变量aa(字符串)和变量bb(数字).
我正在使用的函数只是处理大量的数学运算,并且与GUI中的对象无关.我从Google搜索获得的一种方法使用了一个Object,但是(我认为)这需要我创建一个类,我想知道是否有更简单的方法.由于数组可以包含不同数据类型的元素,因此这可能是一种更简单的方法(?).
以下是David Gassner从"Flash Builder 4和Flex 4 Bible"中获取的mxml和AS3文件示例.
文件:Calculator.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:components="components.*">
<fx:Script source="calculator.as"/>
<s:Panel title="Calculator" horizontalCenter="0" top="20">
<s:layout>
<s:VerticalLayout horizontalAlign="center"/>
</s:layout>
<mx:Form>
<components:ButtonTile id="input"
select="selectHandler(event)"
calculate="calculateHandler(event)"/>
<mx:FormItem label="Entry:">
<s:TextInput text="{currentInput}" editable="false" width="80"/>
</mx:FormItem>
<mx:FormItem label="Total:">
<s:TextInput text="{currentResult}" editable="false" width="80"/>
</mx:FormItem>
</mx:Form>
Run Code Online (Sandbox Code Playgroud)
file:calculator.as
//ActionScript code for Calculator.mxml
[Bindable]
private var currentResult:Number=0;
[Bindable]
private var currentInput:String="";
private function calculateHandler(event:Event):void
{
currentResult += Number(currentInput);
currentInput="";
}
private function selectHandler(event:TextEvent):void
{
currentInput += event.text;
}
Run Code Online (Sandbox Code Playgroud)
有人可以说明如何修改calculator.as中的一个函数,作为一个例子,如何返回两个值,其中一个是数字而另一个是字符串?是否有明显的最佳方式来实现这一目标,或者,不同方法的优点/缺点是什么?提前致谢!
我正在研究这个例子:
http://www.vogella.com/articles/JavaPDF/article.html
在我的档案中,我有:
package com.mycompanyname.mydirectory;
import com.mycompanyname.OneOfMyClasses;
import com.itextpdf.text.Document;
...
public class MyClass {
...
}
Run Code Online (Sandbox Code Playgroud)
一切都很好.我不明白的是,因为我只是直接从上面的链接复制了导入语句的iText部分 - 为什么com.itextpdf.text.Document工作?
我的意思是,如果我查看目录,com.mycompanyname我可以看到OneOfMyClasses.java那里.
但com直接,没有itextpdf目录(虽然我的用户可能没有权限看到它(?)).
希望有人能帮助我理解我在这里缺少的东西.导入是否指向我应该能够看到该类的特定目录?在comiText正在使用的某个地方是否有不同的目录,并com.itextpdf.text指向那里?(如果是,目录所在的位置)?
我lib按照惯例在文件夹中安装了iText的jar文件,并确保它包含在类路径中.
java ×5
oracle ×4
c ×3
database ×2
jdbc ×2
actionscript ×1
apache-flex ×1
email ×1
fft ×1
matlab ×1