בית
Top.Mail.Ru Yandeks.Metrika
פורום: "בסיסים";
ארכיון נוכחי: 2004.12.12;
הורדה: [xml.tar.bz2];

למטה

יצירת טבלה DBASE IV. מה לייעץ להשתמש? מצא סניפים דומים


SergP ©   (2004-11-13 00:56) [0]

בעיה כזו:
אני כותב תוכנה מסוימת בה אני משתמש בבסיס הנתונים של Access (בגלל הנוחות של הגישה באמצעות ADO), חוץ מזה, אין שם דרישות DBMS "רציניות".
עכשיו עלי לאפשר ייצוא נתונים לטבלת dbase 4 (foxpro 2.6)
הטבלה חייבת להיות בעלת מבנה מוגדר מראש. התוכנית צריכה ליצור אותם, לשים שם את הנתונים ולכתוב את הקובץ שהתקבל לדיסק (לדוגמה, לדיסק). בשל העובדה שעבודה עם הטבלה נועדה רק לכתיבה, וכדי להפחית את מספר הבעיות, לא אשתמש ב- BDE (זה לא מצדיק את עצמו).
כרגע יש לי רק מחשבה אחת: צור קובץ באופן ידני כך שהוא יתאים לטבלת ה- dbase 4 של המבנה הרצוי.
אבל רק במקרה, אני רוצה לשאול: האם מישהו יכול להתמודד עם מצב דומה? מה אתה יכול לייעץ? אולי יש איזה פתיל שאינו ספריות כבדות שמאפשר לך ליצור את הטבלה הרצויה, ולכתוב שם את הנתונים? ואני לא ממש רוצה לחפש תיאור של פורמט הקובץ dbf וליצור קובץ ידנית על פי "התמונה והדמיון" שלו.



sniknik ©   (2004-11-13 01:19) [1]

> בו אני משתמש במסד הנתונים של Access (בגלל קלות הגישה דרך ADO)
כאן ולהשתמש בזה
נסה בקשה מחיבור ל- akses
בחר * לטבלה 1 ב- "D: \" "dBase IV;" מ- Table1



SergP ©   (2004-11-13 01:26) [2]


> [1] sniknik © (13.11.04 01: 19)
>> בו אני משתמש בבסיס הנתונים של Access (בגלל קלות הגישה
> דרך ADO)
> השתמש בזה
> נסה את הבקשה להתחבר לגישה
> בחר * לטבלה 1 ב- "D: \" "dBase IV;" מ- Table1


הממ ... תודה ... מסתבר שהוא די פשוט ... למרות שעדיין לא ניסיתי. האם זה יעבוד בלי BDE? ואיפשהו, נראה, קראתי בפורום שאם אתה צריך לכתוב, אז BDE יש צורך.



sniknik ©   (2004-11-13 01:39) [3]

לפרדוקס, כן זה הכרחי, ל- dBase ... טוב, תנסו לספר; o)), תמיד רציתי לבדוק, אבל עצלנות הייתה.

אם כל כך הגיוני, זה צריך להיות כתוב ללא BDE, אבל קצת שטויות (בצורה של אינדקסים לא נתמכים, למשל, זה יכול לצאת)

למעשה, זה לא יכול להסתדר בלי BDE, סתם לג'ט יש נתח מורד (dll) מאותו BDE בו הוא משתמש בהיעדר, ואם מותקן נורמלי, הוא משתמש בו (מסתבר שאין תקלות מ- 2x בו זמנית עותקים עובדים, שהם בדרך כלל המקרה עם כמה אוהבי dll רותחים; o))



SergP ©   (2004-11-13 01:40) [4]

פשוט ניסיתי את זה. זה עובד.
רק כאן מבנה הטבלה כיצד להגדיר? לדוגמה, יש לי שדה מזומנים באביזר, וב- dbase 4 אתה צריך N 20,4, וכתוצאה מהשאילתה, N 20,5 מתקבל, כמה שדות טקסט אחרים צריכים להיות "קטועים" לפי מספר התווים.
איך עושה את זה?

נשאלת גם השאלה: האם BDE נחוצה לכך, או שהתוכנית תעבוד בלעדיה? עכשיו אני לא יכול לבדוק, מכיוון שאין לי מחשב כך שיהיה לי אותו ללא התקנת BDE.



sniknik ©   (2004-11-13 11:23) [5]

> צריך N 20,4
> כמה שדות טקסט נוספים צריכים להיות "גזומים" לפי מספר התווים.
ככל הנראה יהיה קל יותר להשתמש במנוע רכיב כזה או אחר (Halcyon למשל) מכיוון שעם גודל השדות בעת יצירת שולחנות יש לסילון בעיה. (השדה העשרוני (6,2), למשל, הוא בעייתי עבורם (אם בכלל אפשרי), אני לא יודע איך)



sniknik ©   (2004-11-13 11:25) [6]

אבל פריקה לטבלה שהוכנה כבר, כל אחד טוב יותר לפי בקשה, מהיר יותר. מבנה הכניסה נשאר זהה.



KSergey ©   (2004-11-14 08:18) [7]

> [3] sniknik © (13.11.04 01: 39)
לג'ט יש חתיכה מובנית (dll) מובנית שהופשטה מאותו BDE

לא הבנתי ?? !!



Anatoly Podgoretsky ©   (2004-11-14 09:50) [8]

ואיזה מכתב לא מובן?
מיקרוסופט הרישתה את מיני BDE של בורלנד למנוע JET שלה כדי לגשת לטבלאות dBase



KSergey ©   (2004-11-14 09:59) [9]

> [8] Anatoly Podgoretsky © (14.11.04 09: 50)

הבנתי, מפגרת מאחור
ובכן, אני ... לא הייתי יודע. הם לא הזמינו אותי :(



Anatoly Podgoretsky ©   (2004-11-14 10:09) [10]

בדוק את ספריות 16 עם עורך עשיר והכל יתברר.



SergP ©   (2004-11-14 17:23) [11]

אוקיי. עם זה ברור ... אם זה, אז אנסה אפשרות נוספת עם טבלה קיימת מוכנה (dbf) עם המבנה הרצוי. ואז להוסיף רשומות אליו עם שאילתה ... האם יהיה צורך ב- BDE?

ועוד דבר אחד: צריך להיות שדה עם מספר שורה בטבלת הפלט. מדוע זה נחוץ והאם זה בכלל נחוץ - אל תשאל. אני רק צריך לגרום לתוכנית שלי ליצור קובץ dbf של המבנה הרצוי (ולא המצאתי את המבנה).

באופן כללי ב- FOXPRO אתה יכול לבקש את הבקשה הבאה:
בחר recno () כשורה, * משולחן 1 לטבלה dbf2

האם ניתן לעשות משהו כמו yuzaya JET?


> [5] sniknik © (13.11.04 11: 23)
> ככל הנראה יהיה קל יותר להשתמש באיזה מנוע רכיב
> (Halcyon למשל), מכיוון שגודל השדות בעת היצירה
> לטבלאות סילון יש בעיה. (שדה עשרוני (6,2) למשל אותם
> בעייתי (אם בכלל אפשרי), אני לא יודע איך)


כלומר האם הבעיה היא רק עם עשרוני (6,2) או עם כל השאר?
אם ניתן להגדיר לפחות סוגים של שדות תוצאות בשאילתה, אז ספר לי כיצד לעשות זאת בשאילתה או לתת דוגמה, בבקשה.

וההחליקון להשתמש בו הוא להגדיל באופן משמעותי את גודל התוכנית בגלל זוטא כזה שאני צריך. כלומר, איך לירות דרור מאקדח.
יהיה לי קל יותר "ליצור באופן ידני" קובץ של המבנה הרצוי. יש לי דוגמה לקובץ הדרוש. אקח משם את הכותרת ואת התיאור של השדות (בכותרת אתה רק צריך לשנות את הבתים שבהם כתוב מספר הערכים.) אז אוסיף את הנתונים ואכתוב את התוצאה לקובץ.



sniknik ©   (2004-11-14 17:53) [12]

> כלומר האם הבעיה היא רק עם עשרוני (6,2) או עם כל השאר?
עם כל המספרי, הדיוק אינו מוגדר, כברירת מחדל מתקבל 20,5 או 19,5. אבל כמה וריאציות עובדות (נראה ש- 12,2 הסתדר), בדרך כלל לא יציבות, שלא כדאי להשתמש בהן.



SergP ©   (2004-11-14 18:07) [13]


> [12] sniknik © (14.11.04 17: 53)
>> כלומר האם הבעיה היא רק עם עשרוני (6,2) או עם כל השאר?
> עם כל המספרי, הדיוק לא מוגדר, ברירת מחדל או
> מתקבל 20,5 או 19,5. אבל וריאציה מסוימת עובדת
> (נראה ש- 12,2 הסתדר), באופן כללי, לא יציב, לא שווה את זה
> להשתמש.


בבקשה, תיתן דוגמה לשימוש במשימת פורמט השדה בבקשה עצמה?



sniknik ©   (2004-11-14 20:10) [14]

> פלייז, תן דוגמה לשימוש במשימת פורמט השדה בבקשה עצמה?
למה? כל אחד ייכשל.

ובכן, אם אתה רוצה את זה, בדוק
צור לוח טבלה 1 (ID INT, ID1 עשרוני (6, 2), ID2 עשרוני (16, 2), ID2 עשרוני (12, 2))
כאשר מחובר דרך סילון ל- dBase IV יהיה יותר 20,5.
אחרי להחליף בספירה וכו '.



SergP ©   (2004-11-14 23:49) [15]


> [3] sniknik © (13.11.04 01: 39)
> כן, לפרדוקס, ל dBase ... טוב, בואו ננסה לומר
>; o)), תמיד רציתי לבדוק, אבל עצלנות הייתה.


ניסיתי עם חבר בבית איפה BDE לא. זה עובד. אז BDE אינו נחוץ.


> [14] sniknik © (14.11.04 20: 10)
ציטוט 1 >> חידון, תן דוגמה לשימוש במשימת פורמט השדה
> בבקשה עצמה?
> למה? כל אחד ייכשל.
>
> ובכן, אם אתה רוצה את זה, בדוק
> צור לוח טבלה 1 (ID INT, ID1 עשרוני (6, 2), ID2 עשרוני (16,
> 2), ID2 עשרוני (12, 2))
> כשמחובר דרך סילון ל- dBase IV יהיה 20,5 יותר.
> אחרי להחליף עם מספרי וכו '.


התכוונתי שהבקשה אינה יצירת, אלא בחר ... לטבלה IN "..." "dBase IV ... כיצד לשנות את פורמט השדה? לדוגמא, במסד הנתונים של הגישה מאותו סוג ופורמט, וכתוצאה כך שב- dbf זה האם זה כבר פורמט אחר? או בבחירה לא ניתן לציין את זה?



sniknik ©   (2004-11-15 00:54) [16]

> או בבחירה לא ניתן לציין זאת?
זה אפשרי אך מוגבל, ולא סביר שתשנה רק את סוג הפורמט, המרות מסוג זה מותרות ואפשריות, אז בבקשה הביא מחרוזת למספר, אך בקש את הדיוק בזה ... לא. ואם ישמשו חישובים עם מיתרים, השדה בו הוא משמש יהיה מסוג char (254), כמו וכו '. (בדוק את זה בעצמך).

לגבי המבנה המדויק שיש, כבר אמר.



Galim   (2004-11-15 07:07) [17]

וניסית לארוז קבצי DBF דרך ADO.
מישהו יכול להגיד לי?



Fay ©   (2004-11-15 08:46) [18]

Vkdbf



SergP ©   (2004-11-15 08:47) [19]


> [16] sniknik © (15.11.04 00: 54)


לא התכוונתי לפעולות המרה מסוג, אלא ליכולת להגדיר ישירות את סוגי השדות של הטבלה המתקבלת.

מצא את האמת שנקראה היום ב- JETSQL40.CHM:


Инструкция SELECT...INTO
...
При создании таблицы поля в новой таблице наследуют типы данных и размеры базовых полей; никакие другие свойства таблиц и полей не передаются.


והבנתי שזה לא.

נו טוב. אני מתכוון דרך INSERT לעשות. ויצירת טבלה ריקה כבר נעשתה בטיפשות על בסיס יצירת קובץ עם רצף בתים מוגדר מראש. כלומר לא דרך SQL



Fay ©   (2004-11-15 08:58) [20]

ולבסוף, אם לא עצלן, אתה יכול לפסל קובץ dbf "ידיים". לפעמים אני עושה את זה.



SergP ©   (2004-11-15 20:59) [21]

באופן כללי ניסיתי לעשות זאת:
אני יוצר קובץ dbf עם המבנה הרצוי, אך ללא רשומות,
ואז לבקש
הכנס לתוכנית mytable ב "C: \" "dBase IV;" בחר .... מ ... מאיפה ...

אני ממלא אותו בנתונים הדרושים. הכל עובד, אך נשארו שתי בעיות:

1. בטבלה יש שדה Rownum, אתה צריך למלא אותו עם המספרים של הרשומות שהתקבלו. איך עושים זאת?

2. כאשר הבקשה מבוצעת בשדות טקסט, ההמרה מקידוד Windows ל- dos 1251-> 866 מתרחשת באופן שגוי, כלומר מכתבים "אוקראינים" מתדרדרים. לדוגמה, במקום "i", תקבל תו עם הקוד $ 3F. האם יש דרך להיפטר מזה?



sniknik ©   (2004-11-15 21:29) [22]

2
נסה את מפתח הרישום
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ מנועים \ Xbase \ DataCodePage
רק כן הערכים "המובנים" של OEM ו- ANSI, שנה אחד לשני, זה לא יעזור, זה אומר בלתי אפשרי.

1
התחבר מחדש לטבלה שנוצרה באמצעות מנהל התקן Visual FoxPro של ODBC וביצע UPDATE mytable SET Rownum = RecNo (), הוא מבין את מספר השורות.



Slym   (2004-11-16 12:56) [23]

ישנם רכיבי DBF! לדוגמה TDBF (www.tdbf.net או tdbf.sf.net)
הבן כל קידוד וסוג כלשהו.
1. צור טבלאות ריקות ואז את המשאב. בעת הפריקה, אתה חוסך משאבים במידת הצורך, נצמד אליהם ומזקק שורה-אחר-קו את הישן.
2. עיצוב פטיש זמן במבנה שולחן DBF ו- CreateTable.



SergP ©   (2004-11-16 22:03) [24]


>
> [23] Slym (16.11.04 12: 56)
> ישנם רכיבי DBF! לדוגמה TDBF (www.tdbf.net או tdbf.sf.net)
> הבנת קידוד וסוג כלשהו.
> 1. צור טבלאות ריקות ואז את המשאב. בעת הפריקה
> חסוך משאבים במידת הצורך, נצמד אליהם ושורה אחר שורה
> לזקק ישן.
> 2. עיצוב פטיש זמן במבנה שולחן DBF ו- CreateTable.


כן, נמאס לי להתעסק עם הבעיות הקטנות האלה, כבר החלטתי לא לשחק עם כל זה ולמסמר הכל באופן ידני: אני יוצר כותרת טבלה, רק משנה את ארבעת הבתים שבהם מצוין מספר הרשומות. ואז אני מוסיף את הערכים של כל השדות בסדר עדיפות ... אני משנה את הקידוד גם באופן ידני.



עמודים: 1 ענף שלם

פורום: "בסיסים";
ארכיון נוכחי: 2004.12.12;
הורדה: [xml.tar.bz2];

למעלה





זיכרון: 0.66 MB
זמן: 0.08 c
14-1100851367
נאמן
2004-11-19 11:02
2004.12.12
פריקה של ZIP ב- Far-e


1-1101582815
הרקולס - א
2004-11-27 22:13
2004.12.12
NMSMTP1.PostMessage.Body.Text עבור לשורה הבאה


4-1098992943
חביבולין
2004-10-28 23:49
2004.12.12
BIOS


1-1101847008
העגת
2004-11-30 23:36
2004.12.12
אלגוריתם ההצפנה של DES


3-1100513470
דיק
2004-11-15 13:11
2004.12.12
תוצאה של שינוי הבקשה





אפריקאנס אלבני ערבי אַרְמֶנִי אזרביג'אן הבסקים בלארוסית בולגרי קטלאנית הסיני (פשוט) סינית (מסורתית) קרואטית צ'כיה דני הולנדי אנגלית אסטוני פיליפיני פיני צרפתית
גליציה גאורגיה גרמני יווני קריאולית האיטית עברי הינדי הונגרי איסלנדי אינדונזי אירי איטלקי יפני קוריאני לטבי ליטאי מקדוניה מלאית מלטזית נורבגי
פרסי פולני פורטוגזי רומנית רוסי סרבית סלובקי סלובני ספרדי סוואהילית שבדי תאילנדי תורכי אוקראיני אורדו ויאטנמית וולשית יידיש בנגלית בוסנית
קבואנו אספרנטו גוג'ראטית האוסה המונג איגבו יָאוָנִי קנאדה לחמר לאו הלטינית מאורים מרתי מונגולי נפאלית פונג'בית סומליה טמילית טלוגו יורובה
זולו
Английский Французский Немецкий Итальянский Португальский Русский Испанский