国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

數據庫綜合開發實戰

數據庫綜合開發實戰

更新時間:2021-11-16 文章作者:未知 信息來源:網絡 閱讀次數:

馬磊、張萬里  

一套原來在Access上開發的桌面系統,網頁調閱使用ASP編程,數據維護系統使用C++Builder編程。由于Access是一個桌面的共享型數據庫,所以在通用性和網絡開發方面都存在一些問題。因此,需要將該系統移植到服務器型的數據庫上。使系統既可以通過桌面軟件維護數據,又可以有大量用戶通過網頁調看數據(結果)。
系統初始軟件為:Windows98第二版、Access97、C++Builder4.0、C++Builder5.0、MDAC(Microsoft Data Access Component 2.6中文版)。
一、移植到Oracle的嘗試
在機器上安裝Oracle 7.3桌面版,由于使用不熟練,所以選擇默認安裝,除選擇語言Simplified Chinese外,其他都選擇默認,一路裝下去,沒有問題,重新啟動系統。運行Net Easy Config,配置需要的數據庫別名,然后用SQL Net連接試驗,用戶名輸入system,密碼輸入manager,連接服務器注意,不要輸入服務器的地址,而是輸入剛才建立的別名,進去了。Ok!
此時開始測試ODBC,建立ODBC數據源。此時,ODBC中有兩個有關Oracle的驅動,一個是Microsoft ODBC for Oracle,另一個是Oracle 7.3,這是該公司自己開發的驅動。可是怎么選擇驅動程序都不行,不是提示Oracle的驅動沒有安裝,就是說某個DLL文件找不到。真是說不行,就不行,行也不行。
多次試驗均無效。。。。
檢查AUTOEXEC.BAT文件,其中有ORACLE的路徑。那末,問題會在什么地方呢?本著懷疑一切的態度,在MSDOS方式下隨手輸入了一個PATH命令,奇怪,里面居然沒有ORACLE的路徑!打開AUTOEXEC.BAT文件一琢磨,路徑是不是太長?把路徑中的其他目錄全都注釋掉,重啟系統,嘿!數據源可以建立了,而且兩個驅動程序哪個都能夠工作。原來由于系統中安裝了C++Builder的兩個版本,而該軟件的目錄又特別深,造成PATH環境變量的溢出,而在WINDOWS環境下啟動時的提示我們看不到,所以沒有發現這個問題。現在知道了,重新調整一下AUTOEXEC.BAT文件,保留一個C++Builder的路徑。以后得記住安裝C++Builder時最好自己指定一個目錄,這樣可以縮短路徑。這可是說行就行,不行也行。
經過對Oracle的測試,發現將Access數據庫直接移植到Oracle數據庫中時,對文本字段(TEXT,MEMO)的遷移總有問題,且該系統使用、安裝過于復雜,對機器配置的要求也太高,而該系統需要安裝的用戶較多,且使用者水平參差不齊,所以決定改用現在在自由軟件界比較流行的免費數據庫系統MySQL。
二、移植到MySQL的經歷
1.該系統的安裝比較簡單,若認為自己沒有能力安裝該軟件的話,還可以從網絡上下載一個叫PHPTriad for windows的軟件,該軟件安裝時沒有任何選項,自動安裝好MySQL。(實際上,該軟件同時還安裝好了APACHE服務器、PHP語言解釋器,這正好符合將來把ASP的網頁換到PHP上去;另外,該軟件還同時安裝配置好了一個網頁數據庫維護工具PHPMyAdmin,PHPMyAdmin對于SQL語言不算熟的人來說管理數據庫極其方便。)
2.再安裝MYODBC(即ODBC for MySQL,我的是2.5版本),注意下載該軟件時,要分清95版還是NT版的。安裝也很簡單,一路OK。好了,建立數據源work,填好IP地址,數據庫名填mymember(這時系統提供的數據庫),進行測試,不行?改用系統自動安裝的sample-mysql數據源連接,鏈上了。仔細檢查配置,沒有錯誤,為什么系統自己做的數據源可以用,我做的就不行呢?把自己建立的刪掉,把sample-mysql改名為work,再連接,嘿嘿,不行了!哈哈,原來就出在名字上,在work后面加上-mysql,再連接,好了,原來myodbc要求它的數據源名稱必須以mysql結尾!解決了數據源,下面開始移植原來的Access數據庫。
移植工作比較簡單,打開Access數據庫,選中第一張表,從File菜單中選擇“另存為/導出”,選擇“另存為一個外部文件或數據庫”,選確定,在彈出的對話框中的“保存類型”下拉選單中選擇“ODBC數據庫”,又彈出一個“導出”的對話框,如果打算給該數據表改名的話,現在可以輸入新的名字,然后選擇確定,在彈出的“選擇數據源”對話框中點Machine Data Source(機器數據源),找到自己建立的work-MySQL數據源,按確定。此時會回到Access數據庫,如果數據表很大的話,狀態欄中會有一個導出的進度,否則,導出已經完成。
導出成功后,通過PHPMYADMIN檢查導出的數據庫,結構、內容都正常。需要注意的是,如果數據表中用到了Access提供的ID(自動增量)字段的話,需要手工在目標數據庫中修改對應字段的屬性(這在PHPMyAdmin中很容易實現,找到該字段后點“改變”,在該字段的屬性最后一項“額外”的下拉選單中選擇auto_increment,然后保存。PHPMyAdmin的界面是英文的?其實只要在安裝有PHPMyAdmin的目錄Apache\Htdocs\PHPMyAdmin中找到config.inc.php文件,搜索require,把引號中的“english.inc.php”改成“chinese_gb.inc.php”,再去調用網頁中的PHPMyAdmin,嘻嘻,是不是變成中文了?其實chinese_gb.inc.php是一個文件名,就在該目錄下,你還可以把界面變成BIG5碼呢)。
3.終于把移植的工作做完了,下面開始用C++BUILDER編程。對數據庫使用ADO來訪問。步驟如下:在ADO控件標簽中選ADOTable,在主窗口上先放置一個ADOTable1,然后點擊左邊對象觀察器(Object Inspector)中ConnectionString右邊的“…”圖標,選“Use Connection String”,點“Build”,在“Provider”標簽中選擇“Microsoft OLE DB Provider for ODBC Drivers”,點“Next>>”按鈕,在“specify the source of data”中選“use data source name”,從下拉選單中選擇數據源work-MySQL,點“Test Connection”,顯示連接成功,確定,OK,返回,在對象觀察器中Table Name屬性點下拉選單,選擇需要的數據表。再從Data Access控件標簽中選DataSource,在主窗口上放置一個DataSource1,在對象觀察器中DataSet屬性點下拉選單,選擇ADOTable1,下面進行界面輸出的布局,選擇“Data Controls”控件標簽中的DBEdit根據需要放置,并把DataSource屬性設置為DataSource1 ,DataField屬性設置為所需要的字段名。如此放置幾個字段,最后從“Data Controls”控件標簽中選“DBNavigator”放在窗口上。再把ADOTable1的Active屬性改為true,咦,怎么有的字段顯示成(MEMO),先不管他,運行程序,輸入一些內容,點擊提交,怎么沒了?有的字段還縮短了,多試幾次,發現新輸入的內容不能超過原來的長度,那么原來是空的字段就永遠沒法輸入內容了。這是怎么回事?這種用法肯定沒有問題,以前在Access數據庫上就是這么用的。那么,就是MySQL的ODBC有問題,退出C++Builder,打開數據源的選項仔細分析,其中第一項vaaaa很象。把它選中,確定,重新運行C++Builder,再運行程序,一切OK。原來MySQL這樣的自由軟件,其ODBC選項很多,是為了適應各方面需要,不象微軟或其他的數據庫那樣默認值就可以用。這個選項可能是為了優化一些網絡上的應用,而把數據庫字段的默認值總是假設為最小狀態,從而造成這個問題。這可能也是自由軟件的一個小缺點吧。
三、ASP訪問MySQL數據庫的問題
原來的主頁中大量使用了ASP訪問數據庫,其中典型的用法是:
dim LK_CONN
set LK_CONN=server.createobject("ADODB.CONNECTION")
LK_CONN.open "onduty_mysql","root",""
‘以上建立數據庫的連接
dim RS_NEWS
set RS_NEWS = server.createobject("adodb.recordset")
sql = "SELECT * FROM NewsPic"
RS_NEWS.open sql,LK_CONN,1,1
‘以上建立對表的訪問
‘下面顯示內容,為表達簡單,沒有格式,引號中為字段名
=RS_NEWS("Extract")
=RS_NEWS("Pic")
這一段代碼沒有問題,實現了平滑過渡;但是有個別地方,有寫入操作,數據不能正常讀出。該段代碼如下:
dim RS_COUNT
set RS_COUNT = server.createobject("adodb.recordset")
RS_COUNT.open "SELECT * FROM count",LK_CONN,3,3
'訪問計數器
dim Zcount
Zcount=RS_COUNT("Count")
Zcount = Zcount + 1
RS_COUNT("Count").Value=Zcount
RS_COUNT.Update
RS_COUNT.Close
開始懷疑這一段后面有寫入操作,所以不能正確執行,但經過仔細比較和測試,發現問題不在是否寫入上。這一段的代碼主要是用了ASP訪問Access數據庫時直接填入數據庫名的方法,而沒有使用SQL語句,我們把打開數據庫的地方改為“select * from 表名”,程序遂工作正常。
結論:編程時應該盡量使用通用性好的方法,這樣對于系統的通用性、可移植性來說,還是很重要的。
四、ODBC的問題
在C++Builder中有的地方要用到SQL查詢,因此,有一段程序使用的是ADOQuery控件,本來這種用法在其他機器上用過,沒有問題,可是在這里卻不行。具體情況如下:放置一個ADOQuery,ConnectionString屬性、TableName屬性和前面的ADOTable屬性設置一樣,Active屬性保持false,再添加一個DataSource控件和幾個DBText控件,設置同前。然后在FormCreate(表單構造函數)中添加如下代碼:
ADOQuery1->Active=false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from Names order by ID");
ADOQuery1->Active=true;
while (!ADOQuery1->Eof)
{
ComboBox1->Items->Add(ADOQuery1->FieldByName("Name")->AsString);
ADOQuery1->Next();
}
//后一段
ADOQuery1->Active=false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from Dutys order by ID");
ADOQuery1->Active=true;
while (!ADOQuery1->Eof)
{
ComboBox2->Items->Add(ADOQuery1->FieldByName("Duty")->AsString);
ADOQuery1->Next();
}
就這么一段代碼,在該機器上怎么都不能運行,系統總是提示“BOF或EOF中有一個為真。。。。”的錯誤,將注釋后面的一段刪掉,系統可以運行,但退出程序時出現非法錯誤,說明是帶故障運行。反復查看找不出程序的明顯錯誤,把程序拿到其他機器上可以通過,兩個機器的最主要差別就是ODBC的版本不同。
于是想將ODBC降為2.5英文版,找到MDAC2.5版安裝了幾次都不行,只好手工刪除了,在WINDOWS目錄中搜索出所有前綴為ODBC的文件,然后刪除program files\common files中的system目錄,再重新安裝MDAC(Microsoft Data Access Component 2.5英文版),再運行該程序,一切正常。
結論:不知道是MDAC2.6版本的問題,還是因為它是中文版的問題,總之,造成系統的兼容性不是很好,建議大家在編程時也應該盡量使用已經熟悉的環境,而不要總是去嘗試太新的東東。
當然,如果是我這一段代碼有問題,還希望有高手能出來指導。
以上是我們在一次數據庫系統的移植開發過程中出現問題和解決方法的真實記錄,雖然問題都很小,但是讓我們在開發過程中走了不少彎路,所以把它記錄下來,供大家參考,希望對朋友們的開發有所幫助。其中的問題也希望有朋友能夠指出更好的解決辦法。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        成人黄色综合网站| 日韩高清欧美激情| 一区二区三区精品久久久| av电影在线不卡| 亚洲图片激情小说| 欧美伊人久久久久久久久影院 | 精品久久一区二区| 国产精品一区二区久激情瑜伽 | 欧美精品一区男女天堂| 国产一区二区三区在线观看精品 | 精品国产91洋老外米糕| 国产一区二区三区蝌蚪| 中文字幕亚洲一区二区av在线| 欧美影片第一页| 国产毛片一区二区| 国产精品国产三级国产aⅴ原创 | 久久成人av少妇免费| 中文字幕av在线一区二区三区| 91免费版在线| 精品一区在线看| 亚洲乱码国产乱码精品精98午夜| 91精品国产91久久综合桃花| 大美女一区二区三区| 男人操女人的视频在线观看欧美 | 久久精品国产秦先生| 亚洲天堂2014| 精品国产乱码久久久久久免费| 色婷婷综合久久久中文一区二区| 捆绑调教一区二区三区| 一区二区在线观看视频在线观看| 久久久久久久久久久久电影| 欧美三级韩国三级日本一级| 成人一区二区三区视频| 青青草原综合久久大伊人精品优势| 中文字幕亚洲一区二区av在线 | 97久久久精品综合88久久| 久久成人综合网| 亚洲地区一二三色| 亚洲同性同志一二三专区| 国产亚洲欧美一级| 精品国产麻豆免费人成网站| 欧美日韩一卡二卡三卡| 在线免费观看日本欧美| 粉嫩高潮美女一区二区三区 | 偷拍一区二区三区四区| 亚洲欧美日韩久久精品| 亚洲欧洲色图综合| 久久精品水蜜桃av综合天堂| 欧美www视频| 欧美成人精品福利| 日韩一区二区三区三四区视频在线观看| 波多野结衣中文字幕一区 | 婷婷国产在线综合| 一个色在线综合| 亚洲男同1069视频| 亚洲人成亚洲人成在线观看图片| 中文字幕巨乱亚洲| 国产色产综合产在线视频| 精品福利二区三区| 久久精子c满五个校花| 久久综合色天天久久综合图片| 精品精品国产高清a毛片牛牛| 日韩精品资源二区在线| 久久久美女艺术照精彩视频福利播放| 久久综合久久99| 国产精品私人自拍| 一区二区三区在线影院| 亚洲成a人v欧美综合天堂 | 激情伊人五月天久久综合| 日本 国产 欧美色综合| 久久成人免费网站| 成人精品视频网站| 91视频观看视频| 欧美日韩一区二区欧美激情| 日韩欧美精品在线视频| 国产精品视频一二三区| 亚洲免费色视频| 日韩激情一区二区| 国产精品一区免费在线观看| 99精品久久只有精品| 欧美日韩一级二级| 精品国产人成亚洲区| 中文字幕综合网| 午夜视频一区在线观看| 国产精品一二三区在线| 日本高清不卡在线观看| 欧美一区二区三区免费观看视频 | 美女诱惑一区二区| 成人黄色国产精品网站大全在线免费观看| 91精品福利视频| 欧美大片日本大片免费观看| 国产精品午夜春色av| 丝瓜av网站精品一区二区| 国产精一区二区三区| 欧洲一区二区三区免费视频| 久久伊99综合婷婷久久伊| 一区二区三区不卡在线观看 | 欧美精品 国产精品| 国产视频911| 天堂在线一区二区| 精品中文av资源站在线观看| 亚洲一区二区在线免费看| 亚洲午夜激情网页| 91免费看片在线观看| 精品午夜一区二区三区在线观看| jlzzjlzz亚洲女人18| 欧美一区三区二区| 国产精品美女久久久久久2018| 亚洲午夜成aⅴ人片| 懂色av一区二区三区蜜臀| 日韩欧美在线1卡| 亚洲精品国产a久久久久久| 国产一区二区女| 欧美一区二区三区啪啪| 亚洲高清视频中文字幕| www.视频一区| 久久久久综合网| 久久精品国产免费看久久精品| 色狠狠一区二区三区香蕉| 国产精品久久久久永久免费观看| 久久国产免费看| 5566中文字幕一区二区电影| 亚洲一二三四在线观看| 99视频有精品| 国产精品欧美综合在线| 国产精品自在在线| 久久久久久久免费视频了| 精品一区二区三区免费观看| 欧美另类一区二区三区| 亚洲成人av中文| 制服丝袜在线91| 日韩国产精品91| 日韩一区二区三区在线| 另类调教123区| 日韩精品一区二区三区视频播放| 日韩中文字幕亚洲一区二区va在线 | 日韩一区二区在线观看视频| 午夜精品一区二区三区免费视频 | 欧美日韩国产大片| 亚洲成a人v欧美综合天堂下载| 欧洲人成人精品| 亚洲电影你懂得| 欧美日韩在线播放一区| 秋霞影院一区二区| 欧美xxxx在线观看| 国产成人免费网站| 亚洲欧美日韩系列| 欧美日韩三级视频| 日本三级韩国三级欧美三级| 精品av久久707| 成人爽a毛片一区二区免费| 亚洲视频在线观看三级| 欧美在线免费观看视频| 日韩av中文字幕一区二区三区| 日韩欧美电影一区| 成人精品视频一区二区三区| 亚洲一区自拍偷拍| 精品乱人伦一区二区三区| 不卡的av在线播放| 全国精品久久少妇| 欧美国产精品一区二区三区| 99精品视频在线观看| 日日摸夜夜添夜夜添国产精品 | 国产麻豆午夜三级精品| 亚洲乱码中文字幕| 7777精品伊人久久久大香线蕉经典版下载| 久久www免费人成看片高清| 亚洲国产精品黑人久久久| 欧美亚洲一区三区| 精东粉嫩av免费一区二区三区| 中文字幕制服丝袜一区二区三区| 欧美午夜精品免费| 国产精品系列在线观看| 亚洲电影在线免费观看| 国产亚洲制服色| 欧美一区二区网站| 成人avav影音| 精品一区二区三区久久久| 亚洲自拍偷拍av| 国产精品色哟哟网站| 日韩一级精品视频在线观看| 99re热视频这里只精品| 国产麻豆视频一区二区| 天天色综合成人网| 中文字幕在线一区| 日韩精品一区二区三区视频播放 | 国产精品乱人伦| 精品国产亚洲在线| 91精品国产全国免费观看| 色吊一区二区三区| 99久久婷婷国产综合精品电影 | 人禽交欧美网站| 舔着乳尖日韩一区| 一区二区三区加勒比av| 欧美国产97人人爽人人喊| 亚洲精品一区二区在线观看| 69久久99精品久久久久婷婷| 欧美色综合久久| 日本黄色一区二区| 色香蕉成人二区免费|