我正在尝试调试一个庞大的,过时的(大约2001年)PHP Web服务,我遇到了文件打开失败.fopen调用在一个包含的模块中,调用者记录该文件无法打开但没有记录任何原因.
实际打开的代码是:
// Read the file
if (!($fp = @fopen($fileName, 'rb'))) {
$errStr = "Failed to open '{$fileName}' for read.";
break; // try-block
}
Run Code Online (Sandbox Code Playgroud)
我如何才能找出fopen失败的原因?
我想建立一个源代码控制系统:
建议请.
我想使用最简单的Java工具创建一个CRUD(创建,检索,更新,删除)网站.该站点将允许用户管理四个表,其中两个是用于构建菜单的参考表,其中两个将进行CRUD活动.
我倾向于Stripes,但我想听听经验开发人员的意见.三个关键要求简单,简单,简单!我认为Struts和Spring MVC比我需要的更复杂.
- = beeky
我想构建一个RESTful Web服务,实现生物数据数据库的搜索界面.
典型的搜索请求可能涉及数据的十几个属性.例如,按科学名称搜索,将搜索限制在小于100米的水深处.我的第一直觉是拥有查询字符串中的所有属性,例如?searchType = sciname&sciname = mola + mola&maxdepth = 100&mindepth = 0
但是,查询字符串被认为是非RESTful的,请参阅http://rest.blueoxen.net/cgi-bin/wiki.pl?QueryStringsConsideredHarmful
我已经看过一些早期的SO讨论,例如用于搜索的RESTful URL设计, 我仍然不清楚这一点,所以我的问题:
是否存在可接受的搜索服务RESTful URL标准或模式,其中可能存在任意数量的过滤值?
几年前,我写了一个小实用程序,用于将数据从Oracle数据库移动到Postgres数据库.我使用Java和JDBC来实现这一点,因为我希望Java处理预准备语句中用于执行插入的数据的数据格式.该实用程序的原始版本假定两个数据库中的表名和列名相同.更高版本接受了映射文件来处理名称差异.这个实用程序在我的组织中受到了很大的打击,但不幸的是,它没有扩展.它每小时移动大约一百万行.我们现在有30多万行的表,没有人愿意等待30个小时来传输数据.
下面的方法是实用程序的核心,也是它不能扩展的原因.此方法对每列数据执行一次,因此会调用它(num_rows*num_cols次).使用分析器,我发现此方法占用了58%的执行时间.单独的getObject()和findColumn()调用占执行时间的53%!
public void setPlaceholderValue ( int placeHolderNum, ResultSet rs, String oracleColumnName, PreparedStatement stmt ) throws Exception {
int columnIndex = rs.findColumn(oracleColumnName) ;
int columnType = rs.getMetaData().getColumnType(columnIndex) ;
try{
if ( rs.getObject(oracleColumnName) != null ){
switch (columnType) {
case Types.VARCHAR: stmt.setString(placeHolderNum, rs.getString(columnIndex)); break;
case Types.INTEGER: stmt.setInt(placeHolderNum, rs.getInt(columnIndex)); break ;
case Types.DATE: stmt.setDate(placeHolderNum, rs.getDate(columnIndex)); break;
case Types.FLOAT: stmt.setFloat(placeHolderNum, rs.getFloat(columnIndex)); break ;
case Types.NUMERIC: stmt.setBigDecimal(placeHolderNum,rs.getBigDecimal(columnIndex)); break ;
case Types.TIMESTAMP: stmt.setTimestamp(placeHolderNum, rs.getTimestamp(columnIndex)); break ;
default: throw new SQLException("The result set column type " …Run Code Online (Sandbox Code Playgroud) java ×2
crud ×1
default ×1
fopen ×1
jdbc ×1
oracle ×1
php ×1
postgresql ×1
rest ×1
restful-url ×1