利用kettle组件导入excel文件到数据库
利用kettle组件导入excel文件到数据库 1. 实现目标 把excel文件内容导入到目标表中;然后用java调用kettle的转换。excel文件的内容只有两列,示例如下: 数据库表的结构如下: vcD4KCjxoMz4yLiAgICAgyei8xrfWzvY8L2gzPgoKPHVsPgo8bGk+CjxwPgrKudPDb3JhY2xluq/
利用kettle组件导入excel文件到数据库
1. 实现目标
把excel文件内容导入到目标表中;然后用java调用kettle的转换。excel文件的内容只有两列,示例如下:
数据库表的结构如下:
喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxoMz4yLiAgICAgyei8xrfWzvY8L2gzPgoKPHVsPgo8bGk+CjxwPgrKudPDb3JhY2xluq/K/b3ivvbJz828u8bJq9DQtcTX1rbOo7rBvbj2dXVpZLrNwb249s+1zbPI1cbao7s8L3A+CgoKPHA+0OjSqsn6s8l1dWlko6zV4rj21NpvcmFjbGXW0L/J0tTA+9PDU1lTX1VVSUQoKbqvyv3Ktc/Wo7s8L3A+Cgo8cCBhbGlnbj0="left">需要生成当前时间作为创建时间和修改时间,使用oracle的to_char(sysdate,’yyyy-MM-dd hh:mm:ss’)实现;
-
使用命名参数解决蓝色行字段
创建人及修改人的ID(两者一致)、组织ID、来源文件的ID;分别使用命名参数:
${USER_ID}、${ORG_ID}、${FILE_ID}、${FILE_NAME};
其中文件名称是读取excel步骤要使用的;
-
使用excel行内容作为绿色行的值
即企业名称和组织机构代码两个字段;
-
使用默认值作为白色行的值
3. 设计kettle的转换文件
使用excel输入步骤读取excel内容,使用执行sql脚步步骤把记录插入数据表中;
3.1. 设计步骤
从输入类别中拖动excel input步骤到工作区,从脚步类别中拖动执行sql 脚步到工作区;按shift键,从excel input步骤连接到sql脚步步骤。如下图:
3.2. 配置步骤
-
配置excel步骤
双击excel步骤,打开配置对话框:
-
配置数据库连接
记得把oracle的jdbc驱动加到kettle的lib目录中,可以测试连接。
-
配置执行sql脚步步骤
双击该步骤打开配置,首先选择前面配置的数据库连接,然后写insert语句。需要注意的是字符类型要用引号括起来,即使是变量或?都需要括起来。
问号的内容需要在parameters中配置对应的流字段;
因为需要执行多行,需要选中Execute for each row 选项;
因为有变量,需要选中Variable substutution选项;
3.3. 配置参数
前面分析了需要四个参数,分别在两个步骤使用到了,所以需要给转换配置四个命名参数: USER_ID、ORG_ID、FILE_ID、FILE_NAME;
双击工作区空白部分打开转换配置,输入相应的参数,也可以添加默认值,用于在kettle中进行测试使用,直到测试没有错误。
至此,在kettle的设计工作已经做完,大家可以参考这篇博客文章,关于动态查询的详细说明,地址:http://blog.csdn.net/neweastsun/article/details/39287809;
4. 在java调用转换
调用之前,需要准备上述四个参数的内容,然后把参数传给转换执行;详细内容参考这篇博客文章:
http://blog.csdn.net/neweastsun/article/details/40886841
-
-
-
-
-

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Excel データを HTML で取得するにはどうすればよいですか? Excel ファイルのインポート: 要素を使用します。 Excel ファイルを解析します。xlsx ライブラリまたはブラウザ機能を使用します。データの取得: 行データと列データを含むワークシート オブジェクトを取得します。データの表示: HTML 要素 (テーブルなど) を使用してデータを表示します。

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

os.Rename 関数は Go 言語でファイルの名前を変更するために使用されます。構文は funcRename(oldpath,newpathstring)error です。この関数は、oldpath で指定されたファイルの名前を newpath で指定されたファイルに変更します。例としては、単純な名前変更、ファイルの別のディレクトリへの移動、エラー処理の無視などが挙げられます。名前変更機能はアトミック操作を実行し、2 つのファイルが同じディレクトリにある場合にのみディレクトリ エントリを更新する可能性があります。名前変更はボリューム間またはファイルの使用中に失敗する可能性があります。
