全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2694
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

真困擾耶~mysql+delphi

尚未結案
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-19 20:51:44 IP:210.60.xxx.xxx 未訂閱
各位大大....幫幫忙啊~~~!!! 我現在所寫的程式是一個轉檔程式,mysql+delphi 現在面臨幾個問題 (1)我要insert資料進資料庫時...卻出現了以下這個問題     實際上...資料庫中並沒有存在這一筆記錄 這有辦法解嗎?? (2)後來我用try..except...end的方式,將出錯的部分忽略 sqlH:='insert into pat_desc (descpatno,patDesc) values '; sqlH:=sqlH+'('''+patentno+''','''+patdesc+''')'; try with query1 do begin close; sql.clear; sql.add(sqlH); ExecSQL; end; except ////如果寫入資料庫有錯的話,記錄到另個table中 with query1 do begin close; sql.clear; sql.add('insert into pat_error (paterr) values '+'('''+inttostr(patno)+'_des'+''')'); ExecSQL; end; end; 但卻發生了只要有一筆進入到except後, 往後的數筆都會進入except的部分去執行 這到底是怎麼一回事啊~
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-19 20:57:11 IP:210.60.xxx.xxx 未訂閱
不好意思...補充一下... 一筆patDesc欄位的資料量... 會高達數萬行~ 所以...麻煩大家幫幫忙~    
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-19 23:22:57 IP:63.84.xxx.xxx 未訂閱
您好!    應是MySQL的Bug, 請做相關的Debug, 查詢如下連接: http://www.mysql.com/doc/en/News-4.0.14.html http://www.mysql.com/search/index.php?q=mysqld-4.0.14-nt&from=%2Findex.html    請參考您的Bug No.    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-20 10:07:10 IP:61.221.xxx.xxx 未訂閱
lsleo 你好: 也許是你的mysql沒啟動,在檢查一下在 服務 裡面有無啟動mysql 小弟也有po過一篇免odbc的使用方式,請自行參考
------
======================
昏睡~
不昏睡~
不由昏睡~
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-20 11:06:48 IP:210.60.xxx.xxx 未訂閱
cashxin2002 您好 我有去那兩個網址觀看...但還是不太了解要怎麼去處理這些問題 可否再說明呢~ ko 您好 我的mysql是在有啟動的狀態下發生這些問題的 請各位大大幫幫忙~ 謝謝~
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-20 11:30:39 IP:61.221.xxx.xxx 未訂閱
lsleo 你好: 那你開 odbc管理員 編輯mysql資料庫會出錯嗎? 你可以敘述一下作業環境跟mysql架構嗎? 最好有code,元件等的敘述
------
======================
昏睡~
不昏睡~
不由昏睡~
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-20 11:33:27 IP:63.84.xxx.xxx 未訂閱
您好﹗    大概的看了一下﹐其內容有一些說明Bug的範例﹐您可根据Error Sample比對和您目前類似的問題﹐再點擊其Bug No(如Bug #791)﹐即可進入相關連接﹒    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
kensoong
初階會員


發表:31
回覆:70
積分:45
註冊:2003-05-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-11-20 12:25:32 IP:61.56.xxx.xxx 未訂閱
(1)您的資料之PK是否有重覆或是使用 Delphi 存入圖檔時會發生, mysql error code(2006) Mysql server has gone away 的錯誤, 那是因為圖檔太大了,而 MySQL 的 max_allowed_packet 內定只有 1M 所以我們要調正這個參數,在 INI 加入: [mysqld] port=3306 socket=MySQL skip-locking default-character-set=latin1 set-variable = key_buffer=16M set-variable = max_allowed_packet=16M set-variable = thread_stack=128K set-variable = flush_time=1800 [mysqldump] quick set-variable = max_allowed_packet=16M 重新啟動 MySQL ,在試試看就沒問題了。
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-11-20 13:18:05 IP:210.60.xxx.xxx 未訂閱
kensoong 您好 請問一下...要去哪一個INI檔改參數呢~ 謝謝~
kensoong
初階會員


發表:31
回覆:70
積分:45
註冊:2003-05-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-11-20 16:01:43 IP:61.56.xxx.xxx 未訂閱
請問您有沒用dbExpress串DB,若有的話,也有可能是dbExpress for mySQL的bug... mySQL的config檔: 1.Windows版, 叫my.ini or mysql.ini 可能在Windows目錄下或c:\mysql下 您可以搜尋一下就知道了... 2.Linux版, 稱為 my.conf, 位置==>etc/my.conf
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-11-20 21:25:09 IP:210.60.xxx.xxx 未訂閱
kensoong  您好 1.我沒有用dbExpress連資料庫 2.對於你所說的重新設參數的部分...想請問一下   是全部都COPY進INI檔貼上嗎??   還是只要這一行就可以了==>set-variable = max_allowed_packet=16M   這是我修改後的INI檔   [mysqld] basedir=C:/mysql #bind-address=XXX.XXX.XXX.XXX datadir=C:/mysql/data #language=C:/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M set-variable = max_allowed_packet=16M [mysqldump] quick set-variable = max_allowed_packet=16M [WinMySQLadmin] Server=C:/mysql/bin/mysqld-nt.exe 還是不行耶... 一樣的錯誤=>MySQL server has gone away 各位幫幫忙啊~ PS:紅色的部分是我修正的部分
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-11-20 22:13:23 IP:61.64.xxx.xxx 未訂閱
去下載此 AppServ 2.1.0 with Zend Optimizer 整合版 http://www.appservnetwork.com/ 想不到已出到 AppServ 2.3.0 : The AppServ Revolution ================================================== 這是預設值my.ini內容 #This File was made using the WinMySQLAdmin 1.3 Tool #2/10/2001 8:50:22 #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] default-character-set=latin1 basedir=C:/APACHE2/mysql #bind-address= datadir=C:/APACHE2/mysql/data #language=C:/AppServ/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M [client] default-character-set=latin1 [WinMySQLadmin] user= password= Server=C:/APACHE2/MYSQL/bin/mysqld-opt.exe ================================================ 改掉 set-variable=key_buffer=16M 依然是 無問題 ok 發表人 - ab 於 2003/11/20 22:16:31
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-11-20 22:28:36 IP:61.64.xxx.xxx 未訂閱
【問題】MYSQL BLOB與中文BIG5碼的問題 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39265 圖檔太大了 ================================ 是這樣嗎
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-11-20 22:40:34 IP:210.60.xxx.xxx 未訂閱
AB  您好.. 出問題的那個欄位是一個純文字的資料 只是這個文字檔太大了....大部分都在數萬行以上的文字 我有改過my.ini但是還是一樣的錯誤< > < >
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-11-20 22:46:14 IP:61.64.xxx.xxx 未訂閱
MYSQL BLOB與中文BIG5碼的問題 請自己再看看 是否是雙字元問題 我沒delphi 喝喝 你的文字檔 可以在web管理工具的PHPadmin下存入嗎 如果是ok 那就很可能 是程式與delphi 雙字元問題 如果是 wen管理工具的PHPadmin下存入無問題 另一解法 可以將那個部門分離 改用免ODBC的方式來處理 如果是 wen管理工具的PHPadmin下也無法存入 那你就頭大了 雙字元問題有70%的機會 發表人 - ab 於 2003/11/20 22:53:37
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-11-20 22:56:58 IP:210.60.xxx.xxx 未訂閱
AB 您好 你所說的雙字元是什麼意思啊~ 我在PHPadmin也是會出現錯誤==>MySQL server has gone away 一樣存不進去 對了..我的欄位型態是... mediumtext 不曉得是不是因為是這個欄位型態的關係嗎???
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-11-20 23:04:34 IP:61.64.xxx.xxx 未訂閱
越來越清楚了 不過 你的文字檔 有內含 Unicode 或GB碼 或萬用字元嗎 你自己再test一下 也不知道你的 文字檔 到底裝甚麼 在 阿帕契 有10MB的限制 你先將 檔案縮小至8mb 因為10mb限制還需扣除其他的 所以真正可存以8mb 設定 自己找一下 這個測試 是要測 PHPADMIN是有經過 阿帕契 所以需先釐清 才能確定 真如你說是MYSQL問題 先看一下 是否有幫助 MySQL中文參考手冊 http://linux.tnc.edu.tw/techdoc/mysql/mysql_doc/manual_toc.html#Crashing http://netlab.cse.yzu.edu.tw/~statue/cfc/docs/mysqldoc_big5/manual_Server.html 發表人 - ab 於 2003/11/20 23:22:39
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#18 引用回覆 回覆 發表時間:2003-11-21 10:24:54 IP:210.60.xxx.xxx 未訂閱
各位大大好...我在將INI檔參數改成 set-variable = max_allowed_packet=16M 結果出現=> the table 'table name' is full AB 您好 我的文字檔大小差不多3M..但還是一樣存不進去 文字檔內容是英文字和一些標點符號 拜託各位幫幫忙了~
solnone
中階會員


發表:2
回覆:97
積分:69
註冊:2003-05-06

發送簡訊給我
#19 引用回覆 回覆 發表時間:2003-11-22 11:45:34 IP:203.66.xxx.xxx 未訂閱
不知你的資料中是不是有 ' 這個字元…改成這樣試試… sqlH:=sqlH '('QuotedStr(patentno)','QuotedStr(patdesc)')';
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#20 引用回覆 回覆 發表時間:2003-11-22 16:32:54 IP:210.60.xxx.xxx 未訂閱
solnone  您好 我的'這個符號有替換掉了 對於你所提的這種寫法...是要在整個SQL字串都寫完時... 在字串最後才加的嗎???    還有....請問各位大大 我發現了一件事耶... 那就是那個存不進資料的table 是在table容量到底4GB時,資料就再也進不去了 是因為資料表滿了嗎?? 有沒有辦法將資料表空間放大呢 還是還有其他的解決方法呢 請各位高手幫幫忙~
solnone
中階會員


發表:2
回覆:97
積分:69
註冊:2003-05-06

發送簡訊給我
#21 引用回覆 回覆 發表時間:2003-11-22 17:03:26 IP:203.66.xxx.xxx 未訂閱
前面的 AB 有說 http://netlab.cse.yzu.edu.tw/~statue/cfc/docs/mysqldoc_big5/manual_Server.html 作業系統有其自身文件大小的限制。在Linux上,當前的限制是2G﹔在Solaris 2.5.1上,限制是4G﹔在Solaris 2.6上,限制是1000G。這意味著MySQL表的大小通常由作業系統限制。 預設地,MySQL表最大尺寸大約4G。你可用SHOW TABLE STATUS命令或myisamchk -dv table_name檢查一個表的最大表大小。 如果你需要大於 4G 的表(並且你的作業系統支援它),你應該在你創建表時設定AVG_ROW_LENGTH和MAX_ROWS參數。你也能用ALTER TABLE在以後設置這些。 所以要看你的OS是不是支援,並用ALTER TABLE 去設定吧! QuotedStr 這個function 會將'字元換成''二個字元。
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#22 引用回覆 回覆 發表時間:2003-11-22 21:13:11 IP:210.60.xxx.xxx 未訂閱
solnone  您好 我去查過我的Mysql的最大Max_data_length 為4G 想請問一下..我現在的系統是2000 professional 您所提的Solaris的版本要去哪裡查呢?? 那如果真的我的系統為2.5.1可以提昇為2.6嗎??    
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#23 引用回覆 回覆 發表時間:2003-11-23 01:52:40 IP:61.64.xxx.xxx 未訂閱
http://wwws.sun.com/software/solaris/ lsleo 網友 你何不上傳個3MB的文件來給有興趣的試試 或問問 Linux 版主 的mysql專家 書逸 版主
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#24 引用回覆 回覆 發表時間:2003-11-27 20:28:37 IP:210.60.xxx.xxx 未訂閱
想請問各位大大.... 1.Solaris是一套裝軟體嗎??可附在window 2000使用嗎?? 還是Solaris是一作業系統,要單獨存在使用呢?? 2.如果我要解決這個4G的問題..有沒有可能有別的方式可解決呢?? 例如:裝某種套裝軟體or調某些參數~ 謝謝各位大大的幫忙...
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#25 引用回覆 回覆 發表時間:2003-11-27 20:56:54 IP:61.64.xxx.xxx 未訂閱
Solaris是一作業系統 sun的 作業系統
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#26 引用回覆 回覆 發表時間:2003-11-27 21:35:12 IP:210.60.xxx.xxx 未訂閱
AB 您好~ 那您的意思是...除了換成那套作業系統以外 在window 2000中沒有別的方法可以解決4G的問題??
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#27 引用回覆 回覆 發表時間:2003-11-27 21:54:10 IP:61.64.xxx.xxx 未訂閱
lsleo 我沒這樣說阿 你的3m的文件 又沒人可以幫你測 ok ========================================== 那就是那個存不進資料的table 是在table容量到底4GB時,資料就再也進不去了 ========================================= 你的mysql還真大 我看你可以朝使用多庫方式 mysql基本上是聽過一機多庫運行 不過不好改 使用資料庫聯結方式 試看看 就巷ACCESS下聯接其他sql 或改 1 多庫方式 2 改運作於Linunx FREEBSD 我是建議FREEBSD喝喝 【Delphi】【轉貼】MySQL的優化 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=41194 帶RAID選項的MyIASM表將文件分割成很多文件以突破某些文件系統的2G限制。 討論 看看有無其他方式 3 換成甲骨文或PostgreSQL 資料庫 PostgreSQL 再Linux上是無問題的 不過未調整的預設值比mysql慢 (PostgreSQL 物件關聯資料庫系統) http://cldp.netking.com.tw/PostgreSQL-HOWTO.html#toc6 《PostgreSQL實務應用》/廖沈宏 http://www.hot.net.tw/book/014/DB20056.htm 官方網站 http://www.postgresql.org/ http://www.pgsql.com.tw/ PostgreSQL 7.4 正式版推出 http://www.postgresql.idv.tw/index.php =================================================== http://olympus.het.brown.edu/doc/HOWTO/zh-html/PostgreSQL-HOWTO-6.html PostgreSQL 支援超過 200 Gig 的超級資料庫 PostgreSQL 支援超過 200 Gig 的超級資料庫 32 位元處理器的電腦在資料庫超過 5 GigaByte 時表現會迅速下降。你可用 32 位元處理器執行 30 gig 的資料庫,但表現會下降。32 位元機器受到最多 2 GB 記憶體,2 GB 檔案系統及其他操作系統方面的限制。 對極大型的資料庫來說,我強烈建議你使用 64 位元處理器,如 Digital Alpha、Sun Ultra-sparc 64 位元處理器、Silicon graphics 64 位元處理器、Intel Mercel IA-64 處理器、HPUX 64 位元電腦、IBM 64 位元電腦。使用 64 位元的處理器來編譯 PostgreSQL,它就可以處理大型的資料庫及查詢。查詢大型表格和資料庫的速度會比 32 位元的電腦快數倍。64 位元電腦的優點是你有很大的記憶位址 (memory addressing space) 和操作系統可處理很大的檔案系統、為大型資料庫提供較佳表現、支援更多記憶體、能力更強 ================================================================= 看來 難阿南 準備看看自己最後解法的選擇 發表人 - ab 於 2003/11/28 00:06:21
lsleo
一般會員


發表:19
回覆:28
積分:9
註冊:2003-05-28

發送簡訊給我
#28 引用回覆 回覆 發表時間:2003-11-28 09:58:29 IP:210.60.xxx.xxx 未訂閱
請問要將文章上傳到哪裡啊?? 直接貼在發問這裡嗎??
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#29 引用回覆 回覆 發表時間:2003-11-28 10:09:02 IP:61.221.xxx.xxx 未訂閱
就像你貼圖一樣 或至 會員求救區 再貼位置 於發問區 會員求助程式檔案上傳區 http://delphi.ktop.com.tw/forum.asp?FORUM_ID=97 發表文章中的圖檔存放區 http://delphi.ktop.com.tw/forum.asp?FORUM_ID=130 【Linux】【轉貼】客觀公正地評價MySQL和PostgreSQL的優劣 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=41197 發表人 - ab 於 2003/11/28 18:00:54
harry112
一般會員


發表:7
回覆:9
積分:3
註冊:2002-10-02

發送簡訊給我
#30 引用回覆 回覆 發表時間:2004-04-22 13:19:34 IP:211.21.xxx.xxx 未訂閱
您好: 請問"免odbc的使用方式"在哪裡? 小弟找不到耶。    
引言: lsleo 你好: 也許是你的mysql沒啟動,在檢查一下在 服務 裡面有無啟動mysql 小弟也有po過一篇免odbc的使用方式,請自行參考
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#31 引用回覆 回覆 發表時間:2004-04-22 14:03:59 IP:61.221.xxx.xxx 未訂閱
請問"免odbc的使用方式"在哪裡? 去看ktop電子報 就找的到了
[<<] [1] [2] [>>]
系統時間:2024-03-29 4:10:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!