【问题标题】:Adding records from Excel Sheet into Oracle database on clicking a button on some website单击某些网站上的按钮将 Excel 表中的记录添加到 Oracle 数据库中
【发布时间】:2015-06-16 11:16:09
【问题描述】:

我想通过单击某个网站上的按钮将 Excel 表中的记录添加到 Oracle 数据库中。

例如,我有一个 php 页面,其中有一个按钮来添加批量记录。

单击该按钮时,系统会询问一个 Excel 文件,该文件将从哪个记录添加到 oracle 数据库中。

在选择文件时,记录会直接添加到 oracle 数据库中。

【问题讨论】:

  • 嗯,听起来像一个计划。到目前为止,您为实现这一目标所做的努力是什么?
  • @SulthanAllaudeen 我正在尝试编写一些 oci 命令。作为 oci 命令和 oracle 数据库的新手,我们将不胜感激。
  • @SulthanAllaudeen 我知道如何从蟾蜍内部进入,但想通过网页上的按钮添加
  • 我真的对oci命令或oracle数据库一无所知。但是正如您所说,您已经知道如何从蟾蜍内部进入(动作)。为什么不在调用触发器时触发动作(按下按钮)?
  • @SulthanAllaudeen 我不知道如何通过 php 脚本中的某些命令来控制蟾蜍功能

标签: php sql database excel oracle


【解决方案1】:

注意:正如我在 cmets 中提到的,我不了解 Toad 或 Oracle,但我可以帮助您通过通用/一般实践来实现它。

简短的总结:

  1. 触发器
  2. 为触发器执行操作
  3. 显示结果

实际解决方法:

我总是推荐的最佳方式是使用一些带有一些 id 的按钮/图像来触发你的触发器。你可以通过

第 1 步:

确保在文档准备好后加载它

$(document).ready(function(){
//Your code here
});

第 2 步:

创建和跟踪您的触发器

有一个带有一些 id 的按钮,例如

<button id="MyButton">Click</button>

并通过

跟踪它
$("#MyButton").click(function(){
console.log("The Trigger is Fired");
});

第 3 步:

触发事件

在这里做你的工作,即在我做console.log的地方你可以做你的操作

由于您的函数与外部文件相关,您可以通过在 curl 调用或 file_get_contents 中传递参数来实现它

方法一:卷发

这是来自php.net的一个简短示例

<?php
$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

您有自己的地址用于您的目的并传递您希望拥有的参数。

方法二:文件获取内容

这是我自己的例子,我现在为你推导出来

这是关于在谷歌地图中查找两点之间的持续时间

$RequestUrl = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$MyLat.",".$MyLong."&destinations=".$TargetLat.','.$TargetLong;
$GoogleApiResult = file_get_contents($RequestUrl);
$GoogleApiResultDecoded = json_decode($GoogleApiResult);

你可以得到结果

 $GoogleApiResultDecoded->rows[0]->elements[0]->duration->text

[注意:这只是一个处理外部文件的例子,您可以根据需要自定义它]

第四步:

显示你的结果

一旦操作完成,您应该在操作的成功函数中显示您执行的工作的输出

首先你需要定义一些具有任意 id 的 div

<div id="YourResult"></div>

即,

$.ajax({
   url: "yourexternalurlwhereyoudealwithoracle.php/someextension",
    type: "POST", // or GET your Prefer
    data: yourdata,
    async: false,
    success: function (msg) 
    {
     console.log('youractionisdone');
     $("#YourResult").html("Successfully Done !");
    },
});

现在,您将获得输出“成功完成!”在您定义的 Div 中。如果你愿意,你可以传递一些真实的,在这种情况下你应该用

替换文本
$("#YourResult").html(data);

现在你完成了!!

【讨论】:

  • 添加记录的数据库部分在哪里。我希望要求上传一个文件,该文件可以进一步上传到数据库中
  • 我已经给你逻辑了,我可以看看你必须实现数据库部分的代码吗?
  • 告诉我一件事。我必须在 curl_init("What to write here") 中写的内容也在 fopen("path of file") 中应该文件位于我的本地主机所在的文件夹中
  • 你能解释一下获取内容的方法吗,因为我没有使用 JSON 的。基本上我必须上传文件并将记录发送到数据库
  • curl 和 get content 都只是请求外部文件的支持,它可能包含您希望执行的过程 - 它可以有一些 db 部分
猜你喜欢
  • 2014-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 2019-06-22
相关资源
最近更新 更多