TWI417750B - 取代資料庫存取的方法 - Google Patents

取代資料庫存取的方法 Download PDF

Info

Publication number
TWI417750B
TWI417750B TW99108930A TW99108930A TWI417750B TW I417750 B TWI417750 B TW I417750B TW 99108930 A TW99108930 A TW 99108930A TW 99108930 A TW99108930 A TW 99108930A TW I417750 B TWI417750 B TW I417750B
Authority
TW
Taiwan
Prior art keywords
database
data
replacing
access
text file
Prior art date
Application number
TW99108930A
Other languages
English (en)
Other versions
TW201133255A (en
Inventor
Jian Yi Chen
Original Assignee
Tatung Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tatung Co filed Critical Tatung Co
Priority to TW99108930A priority Critical patent/TWI417750B/zh
Publication of TW201133255A publication Critical patent/TW201133255A/zh
Application granted granted Critical
Publication of TWI417750B publication Critical patent/TWI417750B/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

取代資料庫存取的方法
本發明是有關於一種資料庫的處理方法,且特別是有關於一種取代資料庫存取的方法。
在資訊技術的發展過程中,往往離不開與資料庫技術的結合。資料庫有很多種型式,從最簡單用來儲存各種資料的表格到能夠儲存大量資料的大型資料庫系統都在各個方面得到了廣泛的應用。資料庫最基本的觀念便是表格(table)。每一個表格包含了多個行(column)與多個列(row)。其中,行又稱為欄位(field),而列又稱為記錄(record)。每一行內會存著相同性質的資料,而每一列裡則包含許多不同性質的資料項目。
一般而言,當要讓系統讀取、寫入、插入或刪除資料庫裡的資料時,可在程式中加入結構化查詢語言(SQL,Structured Query Language)的語法來進行存取。
然而,在作系統轉移時,若原先的系統連接有資料庫時,而目標系統是沒有支援資料庫伺服器的連接或因硬體平台考量而不想再使用連接資料庫伺服器的架構時,目前並沒有一個好的方法。
本發明提供一種取代資料庫存取的方法,能夠取代系統對資料庫的存取。
本發明提出一種取代資料庫存取的方法,適用於一程式藉由多個資料庫語法(syntax)存取一資料庫。取代資料庫存取的方法包括下列步驟。首先,輸出資料庫為一文字檔。接著,分派(assign)一記憶體區塊來存放文字檔的資料。之後,根據記憶體區塊的一記憶體位置,產生一查找表(lookup table)。然後,對應文字檔,提供多個存取指令及其對應的多個存取函式。再來,藉由這些存取指令取代程式中的這些資料庫語法。
在本發明之一實施例中,輸出資料庫為一文字檔的步驟,包括下列步驟。首先,連接資料庫。接著,分別讀出資料庫的欄位名稱與欄位內容,並記錄資料庫的行數與列數。然後,串接自資料庫所讀出的欄位名稱與欄位內容至文字檔。
在本發明之一實施例中,產生查找表的步驟,包括下列步驟。首先,根據文字檔建立一資料結構。資料結構包括資料庫的行數、列數、欄位名稱以及欄位內容。接著,記錄資料庫的名稱與記憶體位置至查找表中。之後,輸出查找表。
在本發明之一實施例中,這些存取指令包括一讀取指令、一寫入指令以及一刪除指令中的至少其中之一。
在本發明之一實施例中,這些存取函式分別為一中斷服務函式。提供這些存取指令及這些存取函式的步驟,包括下列步驟。首先,分別設定這些存取指令為多個軟體中斷向量。接著,根據這些軟體中斷向量建置這些中斷服務函式。
在本發明之一實施例中,在藉由這些存取指令取代程式中的這些資料庫語法的步驟之後,更包括移除這些資料庫語法所對應的多個資料庫連結(link)程式。
在本發明之一實施例中,在藉由這些存取指令取代程式中的這些資料庫語法的步驟之後,更包括透過這些存取函式自查找表取得記憶體位置,而存取記憶體區塊中之文字檔的資料。
在本發明之一實施例中,查找表記錄資料庫的名稱與記憶體位置,且存取記憶體區塊中之文字檔的資料的步驟,包括下列步驟。首先,根據資料庫的名稱,於查找表找出記憶體位置。接著,根據資料庫的欄位名稱及行數,計算出資料區塊的一行索引。然後,根據行索引及資料庫的列數,計算出資料區塊的一累加索引。之後,根據累加索引存取記憶體區塊。
在本發明之一實施例中,這些存取函式的參數包括一狀態值,用以指定資料庫的一特定欄位。
在本發明之一實施例中,這些資料庫語法為結構化查詢語言(SQL,Structured Query Language)的語法。
基於上述,本發明藉由將資料庫的內容輸出成文字檔,並經由記憶體配置與資料庫語法的取代之後,即可取代連接資料庫伺服器進行存取的架構,而不需連接至資料庫伺服器。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1為本發明一實施例之取代資料庫存取的方法流程圖。請參考圖1,首先進行步驟S110,輸出資料庫為一文字檔。在本實施例中,資料庫可儲存於一資料庫伺服器,而從資料庫伺服器輸出資料庫成文字檔。接著進行步驟S120,分派一記憶體區塊來存放文字檔的資料。在本實施例中,分派記憶體區塊的步驟可根據不同硬體平台來做適當的分派。
之後進行步驟S130,根據記憶體區塊的一記憶體位置,產生一查找表。查找表可存放記憶體區塊的記憶體起始位置,以讓使用者藉由查找表來取得記憶體位置。然後進行步驟S140,對應文字檔,提供多個存取指令及其對應的多個存取函式。在本實施例中,這些存取指令可包括一讀取(Sel)指令、一寫入(UpDate)指令以及一刪除(Del)指令中的至少其中之一。再來進行步驟S150,藉由這些存取指令取代程式中的這些資料庫語法。在本實施例中,這些資料庫語法為結構化查詢語言的語法。
值得一提的是,在進行完上述步驟之後,系統即可利用這些存取指令來存取記憶體區塊中的文字檔資料,而不需連接至資料庫伺服器。也就是說,藉由上述的方法,在系統轉移至目標系統之後,即使目標系統是沒有支援資料庫伺服器的連接或因硬體平台考量而不想再使用連接資料庫伺服器的架構時,還是可以在不連接資料庫的情況下存取到原先存放在資料庫伺服器中的資料。
圖2為本發明另一實施例之取代資料庫存取的方法流程圖,圖3為應用於圖2之取代資料庫存取的方法的資料庫示意圖。為了更詳細說明取代資料庫存取的方法的流程,以下將配合圖3來說明圖2的流程。請參考圖2與圖3,首先進行步驟S210,輸出資料庫T為一文字檔F(如圖4所示)。在本實施例中,資料庫T以6個行col1~col6與4個列row1~row4來表示,其中列row1存放多個欄位名稱A1~A6,row2~row4存放多個欄位內容B1~B6、C1~C6以及D1~D6。
進一步來說,步驟S210可包括多個子步驟S212、S214以及S216。首先進行步驟S212,連接資料庫T。接著進行步驟S214,分別讀出資料庫T的欄位名稱A1~A6與欄位內容B1~B6、C1~C6以及D1~D6,並記錄資料庫T的行數與列數。行數例如可根據欄位名稱的數量來計算,列數則可在所有欄位讀完後根據欄位的數量行數來計算。然後進行步驟S216,串接自資料庫T所讀出的欄位名稱A1~A6與欄位內容B1~B6、C1~C6以及D1~D6至文字檔。
圖4為從圖3之資料庫所輸出的文字檔示意圖。請參考圖4,詳細來說,在串接成文字檔F的過程中,每讀入一個欄位名稱或是內容時,可於讀入的資料之後填入一個分隔符號“,”。在本實施例中,文字檔F大致可分成行數P1、列數P2、欄位名稱P3與欄位內容P4等四個部分。
接著進行步驟S220,分派一記憶體區塊來存放文字檔F的資料。之後進行步驟S230,根據記憶體區塊的一記憶體位置,產生一查找表。在本實施例中,查找表可記錄資料庫T的名稱與記憶體位置。詳細來說,步驟S230可包括多個子步驟S232~S236。首先進行步驟S232,根據文字檔F建立一資料結構。資料結構例如包括資料庫T的行數、列數、欄位名稱以及欄位內容。接著進行步驟S234,記錄資料庫T的名稱與記憶體位置至查找表中。之後進行步驟S236,輸出查找表。
然後進行步驟S240,對應文字檔F,提供多個存取指令及其對應的多個存取函式。在本實施例中,這些存取指令可包括一讀取(Sel)指令、一寫入(UpDate)指令以及一刪除(Del)指令中的至少其中之一,且這些存取函式可分別為一中斷服務函式。詳細來說,步驟S240可包括子步驟S242、S244。首先進行步驟S242,分別設定這些存取指令為多個軟體中斷向量。接著進行步驟S244,根據這些軟體中斷向量建置作為這些存取指令的這些中斷服務函式。在本實施例中,這些中斷服務函式可用“Command Name(Table_Name;Column_Name;Condition Value)”來表示。其中,Command Name可為存取指令名稱Sel、UpDate以及Del;Column_Name可為欄位名稱A1~A6;Condition Value則可為狀態值,用以指定資料庫T的一特定欄位。
再來進行步驟S250,藉由這些存取指令取代程式中的這些資料庫語法。舉例來說,若原先資料庫語法之一為“Select A1 From T”,則可用存取指令“Sel(T,A1,*)”來取代,以表示讀取資料庫T中欄位名稱為A1的所有欄位內容B1、C1、D1,其中“*”代表沒有狀態值。若原先資料庫語法之一為“Select A1 From T where A3=C3”,則可用存取指令“Sel(T,A1,A3=C3)”來取代,以表示讀取資料庫T中欄位名稱為A1的欄位內容C1,其中“A3=C3”代表狀態值指定欄位名稱A3的欄位內容C3所在的列row3。
在本實施例中,在藉由這些存取指令取代程式中的這些資料庫語法的步驟之後,更可進行步驟S260與步驟S270。接著進行步驟S260,移除這些資料庫語法所對應的多個資料庫連結程式。詳細來說,由於進行完步驟S210~S250之後,系統無須再連接資料庫伺服器,所以可將系統中的這些資料庫連結程式移除。
當程式的存取指令運作時,則可進行步驟S270,透過這些存取函式自查找表取得記憶體位置,而存取記憶體區塊中之文字檔F的資料。圖5為圖4之存取記憶體區塊步驟的詳細流程圖。請參考圖5,詳細來說,步驟S270可包括多個子步驟S272~S278。首先進行步驟S272,根據資料庫T的名稱,於查找表找出記憶體的起始位置。接著進行步驟S274,根據資料庫T的欄位名稱A1~A6及行數(6行),計算出資料區塊的一行索引。然後進行步驟S276,根據行索引及資料庫的列數(4列),計算出資料區塊的一累加索引。之後進行步驟S278,根據累加索引存取記憶體區塊。在根據累加索引存取記憶體區塊時,還可根據是否有狀態值以及存取指令的類型來作一個或多個資料的處理。
綜上所述,本發明藉由將資料庫的內容輸出成文字檔,並經由記憶體配置與資料庫語法的取代之後,即可取代連接資料庫伺服器進行存取的架構。因此,系統能夠利用這些存取指令來存取記憶體區塊中的文字檔資料,而不需連接至資料庫伺服器。亦即,在系統轉移至目標系統之後,即使目標系統是沒有支援資料庫伺服器的連接或因硬體平台考量而不想再使用連接資料庫伺服器的架構時,還是可以在不連接資料庫的情況下存取到原先存放在資料庫伺服器中的資料。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
A1~A6‧‧‧欄位名稱
B1~B6、C1~C6以及D1~D6‧‧‧欄位內容
F‧‧‧文字檔
T‧‧‧資料庫
col1~col6‧‧‧行
row1~row4‧‧‧列
P1‧‧‧行數部分
P2‧‧‧列數部分
P3‧‧‧欄位名稱部分
P4‧‧‧欄位內容部分
S110~S150‧‧‧步驟
S210~S278‧‧‧步驟
圖1為本發明一實施例之取代資料庫存取的方法流程圖。
圖2為本發明另一實施例之取代資料庫存取的方法流程圖。
圖3為應用於圖2之取代資料庫存取的方法的資料庫示意圖。
圖4為從圖3之資料庫所輸出的文字檔示意圖。
圖5為圖4之存取記憶體區塊步驟的詳細流程圖。
S110~S150...步驟

Claims (10)

  1. 一種取代資料庫存取的方法,適用於一程式藉由多個資料庫語法存取一資料庫,而該取代資料庫存取的方法包括:輸出該資料庫為一文字檔;分派一記憶體區塊來存放該文字檔的資料;根據該記憶體區塊的一記憶體位置,產生一查找表;對應該文字檔,提供多個存取指令及其對應的多個存取函式;以及藉由該些存取指令取代該程式中的該些資料庫語法。
  2. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中輸出該資料庫為一文字檔的步驟,包括:連接該資料庫;分別讀出該資料庫的欄位名稱與欄位內容,並記錄該資料庫的行數與列數;以及串接自該資料庫所讀出的欄位名稱與欄位內容至該文字檔。
  3. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中產生該查找表的步驟,包括:根據該文字檔建立一資料結構,其中該資料結構包括該資料庫的行數、列數、欄位名稱以及欄位內容;記錄該資料庫的名稱與該記憶體位置至該查找表中;以及輸出該查找表。
  4. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中該些存取指令包括一讀取指令、一寫入指令以及一刪除指令中的至少其中之一。
  5. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中該些存取函式分別為一中斷服務函式,且提供該些存取指令及該些存取函式的步驟,包括:分別設定該些存取指令為多個軟體中斷向量;以及根據該些軟體中斷向量建置該些存取函式的該中斷服務函式。
  6. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中在藉由該些存取指令取代該程式中的該些資料庫語法的步驟之後,更包括:移除該些資料庫語法所對應的多個資料庫連結程式。
  7. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中在藉由該些存取指令取代該程式中的該些資料庫語法的步驟之後,更包括:透過該些存取函式自該查找表取得該記憶體位置,而存取該記憶體區塊中之該文字檔的資料。
  8. 如申請專利範圍第7項所述之取代資料庫存取的方法,其中該查找表記錄該資料庫的名稱與該記憶體位置,且存取該記憶體區塊中之該文字檔的資料的步驟,包括:根據該資料庫的名稱,於該查找表找出該記憶體位置; 根據該資料庫的欄位名稱及行數,計算出該資料區塊的一行索引;根據該行索引及該資料庫的列數,計算出該資料區塊的一累加索引;以及根據該累加索引存取該記憶體區塊。
  9. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中該些存取函式的參數包括一狀態值,用以指定該資料庫的一特定欄位。
  10. 如申請專利範圍第1項所述之取代資料庫存取的方法,其中該些資料庫語法為結構化查詢語言的語法。
TW99108930A 2010-03-25 2010-03-25 取代資料庫存取的方法 TWI417750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99108930A TWI417750B (zh) 2010-03-25 2010-03-25 取代資料庫存取的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99108930A TWI417750B (zh) 2010-03-25 2010-03-25 取代資料庫存取的方法

Publications (2)

Publication Number Publication Date
TW201133255A TW201133255A (en) 2011-10-01
TWI417750B true TWI417750B (zh) 2013-12-01

Family

ID=46751131

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99108930A TWI417750B (zh) 2010-03-25 2010-03-25 取代資料庫存取的方法

Country Status (1)

Country Link
TW (1) TWI417750B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000274691A (ja) * 1999-03-26 2000-10-03 Matsushita Electric Works Ltd 昇降掘り炬燵
TW200723028A (en) * 2005-09-09 2007-06-16 Microsoft Corp Designating, setting, and discovering parameters for spreadsheet documents
TW200725409A (en) * 2005-12-27 2007-07-01 Syscom Comp Engineering Co Method for exporting data from a database and computer-readable storage medium for storing the program thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000274691A (ja) * 1999-03-26 2000-10-03 Matsushita Electric Works Ltd 昇降掘り炬燵
TW200723028A (en) * 2005-09-09 2007-06-16 Microsoft Corp Designating, setting, and discovering parameters for spreadsheet documents
TW200725409A (en) * 2005-12-27 2007-07-01 Syscom Comp Engineering Co Method for exporting data from a database and computer-readable storage medium for storing the program thereof

Also Published As

Publication number Publication date
TW201133255A (en) 2011-10-01

Similar Documents

Publication Publication Date Title
US8938456B2 (en) Data recovery system and method in a resource description framework environment
JPH11500247A (ja) 企業コンピューティング・システムで情報を記憶するための情報リポジトリ
CN107391544B (zh) 列式存储数据的处理方法、装置、设备及计算机储存介质
CN112818181B (zh) 图数据库检索方法、系统、计算机设备和存储介质
US8312050B2 (en) Avoiding database related joins with specialized index structures
CN112912870A (zh) 租户标识符的转换
US7529758B2 (en) Method for pre-processing mapping information for efficient decomposition of XML documents
JP5597623B2 (ja) データベース処理方法
TWI417750B (zh) 取代資料庫存取的方法
US10268644B2 (en) Information processing apparatus, computer-readable recording medium having stored therein data conversion program, and data conversion method
US8005844B2 (en) On-line organization of data sets
CN113268483B (zh) 请求处理方法和装置、电子设备和存储介质
CN113946565A (zh) 一种支持异构数据的分库分表迁移方法及系统
CN116821146B (zh) 一种基于Apache Iceberg的数据表列更新方法及系统
US9569470B2 (en) Managing sharing relationship of tables
JP4850581B2 (ja) データ処理システム
CN117785842A (zh) 数据库管理方法、装置及设备
CN111459949B (zh) 针对数据库的数据处理方法、装置及设备和索引更新方法
JP2007310592A (ja) データ処理システム
JP3224159B2 (ja) エキスパートシステム
US20110208782A1 (en) Method and computer program product for creating ordered data structure
US20060187735A1 (en) Indexation by transposition of matrix of large dimension
JP2002041567A (ja) データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
CN117194372A (zh) 数据迁移方法、装置、电子设备及存储介质
US7562081B2 (en) Storing element-based descriptions of documents in a database

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees