الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

تقطيع بعض الكلمات من تكست فايل وتعبئتها فى داتا بيز

Featured Replies

بتاريخ:

شباب الجافا الجامدين بعد إذنكوا مساعدة ع السريع ...
عندى موديول صغير بالجافا عبارة عن تكست فايل عايز أقطع منه بعض الكلمات/الحروف بناء على وقوع هذه الكلمات بعد حروف معينة وأعبيها فى داتا بيز
وإليكم مثال عملى :

thekop.cmp.uea.ac.uk - - [01/Jul/2007:00:00:05 +0100] "GET / HTTP/1.0" 200 56355
يعنى أسجل فى أول حقل فى الجدول اللى موجود ف البداتا بيز القيمة thekop.cmp.uea.ac.uk
الحقل التانى القيمة 01/Jul/2007:00:00:05 +010001/
الحقل الثالث GET / HTTP/1.0" 200 56355

وهكذا....
أرجوا الرد ياشباب وجزاكم الله خير

بتاريخ:

ده مثال عملته ع السريع كده من غير ما اجربه يعني اسف لو في سينتاكس مش مظبوط لكن عموما الفكره اهم مع تغيير ما يلزم عشان يتوافق معاك
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Scanner;

public class Test_Read_file
{
public static void main(String[] args) throws IOException {
Scanner s = null;

try {



Connection connection;
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager
.getConnection("jdbc:oracle:thin:@xxxxx:1521:xxxx",
"xxx", "xxx");

java.sql.Statement statement = connection.createStatement();

s = new Scanner(new BufferedReader(new FileReader("c:/g.txt")));

while (s.hasNext())
{
String splited_line []=s.next().split("-");
statement.addBatch("insert into table_name (col_name1,col_name2,col_name3) values("+splited_line[1]+","+splited_line[2]+","+splited_line[3]+");");

}


statement.executeBatch();
} catch (ClassNotFoundException e)
{

e.printStackTrace();
} catch (SQLException e)
{

e.printStackTrace();
} finally
{
if (s != null)
{
s.close();
}
}
}



}
وملف التكست

xxxx-xxxxx-xxxxx
yyyy-yyyyy-yyyyy
aaaa-aaaaa-aaaaa
zzzzz-zzzzz-zzzzzz

تم تعديل بواسطة xizoaziz

بتاريخ:
  • كاتب الموضوع

شكرا ع الرد وجارى التجربة .....[/color]

  • بعد 3 أسابيع...
بتاريخ:
  • كاتب الموضوع

انا جربت الكود ده واضفت عليه ArrayIndexOutOfBoundsException e) و مع ذلك بيطلع نفس الخطأ الخاص بــــــــــــ ArrayIndexOutOfBoundsException


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Scanner;
import java.util.Vector;
import java.lang.ArrayIndexOutOfBoundsException;

public class Class3
{
public static void main(String[] args) throws IOException , ArrayIndexOutOfBoundsException {
Scanner s = null;

try {



Connection connection;
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager
.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"prs", "prs");

java.sql.Statement statement = connection.createStatement();

s = new Scanner(new BufferedReader(new FileReader("c:\\dd.txt")));

while (s.hasNext())
{
String splited_line []=s.next().split("-");
statement.addBatch("insert into web_log (col_name1) values("+splited_line[1]+");");

}


statement.executeBatch();
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.println("Caught "
+ "ArrayIndexOutOfBoundsException: "
+ e.getMessage());

}catch (ClassNotFoundException e)
{

e.printStackTrace();
} catch (SQLException e)
{

e.printStackTrace();
} finally
{
if (s != null)
{
s.close();
}
}
}

}
أرجو الرد السريع من فضلكم ياشباب
وانا عاجز عن الشكر لكم
فقط xx يحتوى على القيمة dd علما ان الفايل

بتاريخ:
  • كاتب الموضوع
أرجو الرد ياشباب ...جزاكم الله خيرا
بتاريخ:

السلام عليكم
اللى فهمته انك عاوز تاخد الداتا من text file وتدخلها فى الداتابيز انا عملت كلاس سريعة كده بتعمل الحكاية دى ممكن تستخدم split method عشان تقطع اللى انت عاوزه والكلاس دى انا مجرباها وبتدخل للداتابيز بس مبستخدمش Class.forName method لان library oracle JDBC ضايفاها على الproject نفسه
ملحوظة: الجدول اسمه test به (id,FirstName,LastName,Gender)

package hala;


import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;



import java.sql.PreparedStatement;

import java.util.StringTokenizer;

import oracle.jdbc.OracleDriver;
public class Class3
{
public static void main(String[] args) throws IOException {


try {



DriverManager.registerDriver(new OracleDriver());
 Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","hr","hr");
FileInputStream fstream = new FileInputStream("c:\\dd.txt");
DataInputStream in = new DataInputStream(fstream);
 BufferedReader br = new BufferedReader(new InputStreamReader(in));
 //string of Array depending on number of cloumns
String Data=null;
while((Data = br.readLine()) != null){
StringTokenizer hh= new StringTokenizer(Data);
String id=hh.nextToken();
String FirstName=hh.nextToken();
String Last_name=hh.nextToken();
String Gender=hh.nextToken();
String SQL="Insert into Test values (?,?,?,?)";
PreparedStatement stmnt=conn.prepareStatement(SQL);
stmnt.setInt(1,Integer.parseInt(id));
stmnt.setString(2,FirstName);
stmnt.setString(3,Last_name);
stmnt.setString(4,Gender);
int i=stmnt.executeUpdate();
if (i==1){System.out.println("One user added sucessfully");}}}




catch (SQLException e) 
{

e.printStackTrace();}
catch (Exception e){e.printStackTrace();}}}


اما ملف ال.txt ففى البيانات دى

20 yyyyyyyyyy bbbbbbbbb Male

بتاريخ:
  • كاتب الموضوع

الف مليون شكر ياهالة ..الكود 100 100 انا جربته على الداتا بيز عندى مع اختلاف الجدول والحقول بس انا عايز اعرف بعد إذنك هو بيقطع ازاى أو بمعنى أخر عايز شرح سريع كده لسيناريو الكود
طبعا لو مفيش فيها اى ثقالة يعنى ..شكرا مرة تانية

بتاريخ:

السلام عليكم
مش فاهمه يعنى هو ده الكود اللى انت عاوزه ولا لسه عاوز تستخدم الsplit method عشان تقطع الكلمات بناء على وجودها بعد حروف معينة لو عاوز تقطع الكلمات بعد حروف معينة زى بعد(-- )مثلا باستخدام split method ممكن اعمللك كلاس تانية بتعمل كده دى سهلة اما StringTokenizer فهى اللى بتقطع الString ووظيفتها بالظبط (break a string into tokens)

بتاريخ:

معلش علي التاخير في الرد لكن الاخت هاله قامت بالواجب المشكله ان الاراي بدايتها لازم العنصر 0 وليس واحد وانت عدلت الملف خليته عنصر واحد يبقي مالهاش لازمه الاراي اصلا واشتغل علي s.next مباشر بدون عمل سبليت

تم تعديل بواسطة xizoaziz

بتاريخ:
  • كاتب الموضوع

انا أسف جدا ع التاخير ياجماعة بس والله كان فى شوية مشاغل كده ...المهم سيناريو البيزنس اتغير شوية ....
حاليا احنا عندنا ملف اللوج فايل والمطلوب ف الخطوة الاولى :
فلترة اللوج فايل وحذف بعض البيانات الغير مرغوب فيها وحفظ اللوج فايل بعد الفلترة فى تكست فايل جديد ليكون حجمة أقل بكثير جدا من اللوج فايل الأصلى
وهذا مثال سريع على هيكل اللوج فايل الاصلى :


crawl-66-249-65-79.googlebot.com - - [15/Jul/2007:00:00:10 +0100] "GET /dyndom/dyndomRun.do;jsessionid=3E6AD3C86FDE5B2A244D6FC9FA5D5CC2?ddid=TRANS38R2&action=view HTTP/1.1" 200 28741 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

87.112.74.157.plusnet.ptn-ag2.dyn.plus.net - - [15/Jul/2007:00:00:12 +0100] "GET /%7Ecc/remote.php HTTP/1.0" 302 224 "-" "Wget/1.9.1"

melwood.cmp.uea.ac.uk - - [15/Jul/2007:00:00:23 +0100] "GET / HTTP/1.1" 200 49773 "-" "Opera/9.20 (Windows NT 5.1; U; en)"

thekop.cmp.uea.ac.uk - - [15/Jul/2007:00:00:32 +0100] "GET / HTTP/1.0" 200 49773 "-" "Wget/1.9+cvs-stable (Red Hat modified)"

melwood.cmp.uea.ac.uk - - [15/Jul/2007:00:00:54 +0100] "GET / HTTP/1.1" 200 49773 "-" "Opera/9.20 (Windows NT 5.1; U; en)"

crawl-66-249-65-79.googlebot.com - - [15/Jul/2007:00:01:10 +0100] "GET /dyndom/Subgroup.do;jsessionid=3F303A365CE84A3E53E2BBDC74CB5B9A?subgroupid=8299_l HTTP/1.1" 200 15380 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

crawl-66-249-65-79.googlebot.com - - [15/Jul/2007:00:01:20 +0100] "GET /dyndom/downloadDyndomRun.do;jsessionid=35D03AAF9714E716046AACDBAB1D3129?id=35D03AAF9714E716046AACDBAB1D3129&action=DatabaseDynDomRun&ddid=TCELL2R2 HTTP/1.1" 500 2283 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

melwood.cmp.uea.ac.uk - - [15/Jul/2007:00:01:24 +0100] "GET / HTTP/1.1" 200 49773 "-" "Opera/9.20 (Windows NT 5.1; U; en)"

thekop.cmp.uea.ac.uk - - [15/Jul/2007:00:01:34 +0100] "GET / HTTP/1.0" 200 49773 "-" "Wget/1.9+cvs-stable (Red Hat modified)"

melwood.cmp.uea.ac.uk - - [15/Jul/2007:00:01:55 +0100] "GET / HTTP/1.1" 200 49773 "-" "Opera/9.20 (Windows NT 5.1; U; en)"

crawl-66-249-65-79.googlebot.com - - [15/Jul/2007:00:02:11 +0100] "GET /dyndom/Subgroup.do;jsessionid=AC02E433F8DAE44D97C3E7B68E81E6E6?subgroupid=11115_m HTTP/1.1" 200 15689 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

melwood.cmp.uea.ac.uk - - [15/Jul/2007:00:02:26 +0100] "GET / HTTP/1.1" 200 49773 "-" "Opera/9.20 (Windows NT 5.1; U; en)"

thekop.cmp.uea.ac.uk - - [15/Jul/2007:00:02:32 +0100] "GET / HTTP/1.0" 200 49773 "-" "Wget/1.9+cvs-stable (Red Hat modified)"

melwood.cmp.uea.ac.uk - - [15/Jul/2007:00:02:57 +0100] "GET / HTTP/1.1" 200 49773 "-" "Opera/9.20 (Windows NT 5.1; U; en)"

crawl-66-249-65-79.googlebot.com - - [15/Jul/2007:00:03:12 +0100] "GET /dyndom/Subgroup.do;jsessionid=E2123BBE89ADF1E0CCF4C9C2C21EF410?subgroupid=6187_m HTTP/1.1" 200 19385 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

89.205.8.246 - - [15/Jul/2007:00:03:15 +0100] "GET /~jrk/conlang.html HTTP/1.1" 302 227 "-" "Opera/9.21 (Windows NT 5.1; U; en)"

thekop.cmp.uea.ac.uk - - [15/Jul/2007:00:03:15 +0100] "GET / HTTP/1.0" 200 49773 "-" "Wget/1.9+cvs-stable (Red Hat modified)"

steverivers.free-online.co.uk - - [15/Jul/2007:00:03:24 +0100] "GET /web/favicon.ico HTTP/1.1" 200 1406 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"

steverivers.free-online.co.uk - - [15/Jul/2007:00:03:24 +0100] "GET / HTTP/1.1" 200 51577 "http://www1.uea.ac.uk/cm/home/schools/sci" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"

steverivers.free-online.co.uk - - [15/Jul/2007:00:03:24 +0100] "GET /web/cmpweb.css HTTP/1.1" 200 10892 "http://www.cmp.uea.ac.uk/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"

steverivers.free-online.co.uk - - [15/Jul/2007:00:03:24 +0100] "GET /images/trans.gif HTTP/1.1" 200 43 "http://www.cmp.uea.ac.uk/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"

steverivers.free-online.co.uk - - [15/Jul/2007:00:03:24 +0100] "GET /images/cmptitlepic1.gif HTTP/1.1" 200 16091 "http://www.cmp.uea.ac.uk/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"

steverivers.free-online.co.uk - - [15/Jul/2007:00:03:24 +0100] "GET /images/cmptitletxt.gif HTTP/1.1" 200 1447 "http://www.cmp.uea.ac.uk/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"


user address حيث أن اللون الأحمر يمثل
واللون الأخضر يمثل الوقت والتاريخ
requset واللون الاصفر يمثل الـــ
واللون الأزرق يمثل بيانات عن المتصفح المستخدم
الرقم 200 يمثل أنه تم تحميل الصفحة بنجاح
الرقم 28741 يمثل حجم الصفحة


سيتم فلترة اللوج فايل بناء على :
اولا استثناء اى صفحة لم يتم تحميلها بنجاح اى لاتحمل الرقم 200
gif , jpg ,avi على امتداد ملفات صور وفيديو مثل request ثانيا استثناء كل الصفحات التى ييحتوى فيها الـــ
وبعد إنشاء اللوج فايل الجديد صاحب الحجم الصغير يتم تقطيعه وتعبئته ف داتا بيز
وعلى فكرة حجم الفايل الجديد بيكون اقل بكتير من اللوج فايل الاصلى
اسف جدا على الاطالة ومشكورين جدا جدا على تعاونكم معى
جزاكم الله خير

بتاريخ:
  • كاتب الموضوع

حملت الملف الذى يحتوى على عينة من اللوج فايل ليكون افضل ف التصفح ......مشكوووووووورررين

web_log.txt

بتاريخ:
  • كاتب الموضوع

حملت اللوج على فايل وورد افضل علشان الالوان تظهر ...

web_log.doc

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.