iT邦幫忙

0

關於SQL JAVA 對檔案存取的一些問題

  • 分享至 

  • xImage

重整一下我的問題好了
我想要的是
我開一張表單,並附加檔案
之後用單號找到之前的表單
之前附加的檔案也要直接出現在上面


如圖
這是我公司的文管系統
在SQL內存放的資料位置
我沒做過檔案配合SQL的資料庫

如果想要學這塊
該從哪邊下手

例如圖上
資料庫存放位置
SQL該如何呼喚這個位置的檔案

https://ithelp.ithome.com.tw/upload/images/20200114/20082456MEQ0bxE7yy.jpg

看更多先前的討論...收起先前的討論...
阿海 iT邦新手 2 級 ‧ 2020-01-14 11:28:03 檢舉
利用前台,將路徑位置組合合成
這種應用,在前台 JAVA 或 PHP 的關鍵字是什麼?
傳參吧!實際可google 『ajax file path』!至少我在開發檔案上傳/下載這部分是透過ajax來完成寫入資料庫路徑及存放檔案的動作!
還有,你提到前台Java不會是指Javascript吧?Javascript不是Java喔!
阿海 iT邦新手 2 級 ‧ 2020-01-14 15:54:05 檢舉
是在Javascript內寫Java
大多都是用Java的語法
Javascript反而很少
定義變數比較會用到
Javascript內寫Java就真的沒見過了!
小弟見識不足, 願聞其詳!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
Darwin Watterson
iT邦好手 1 級 ‧ 2020-01-14 11:21:43
最佳解答

你的 SQL 存的只是路徑喔 !
無法透過 SQL 開啟路經中的 word 檔 !

/images/emoticon/emoticon17.gif

看更多先前的回應...收起先前的回應...
阿海 iT邦新手 2 級 ‧ 2020-01-14 11:25:30 檢舉

我知道是路徑,但SQL 要能存這路徑,是程式給的?
有沒有此類型的 範例 或 專有名詞?

小魚 iT邦大師 1 級 ‧ 2020-01-14 11:28:10 檢舉

如果你能看到資料庫,
應該也可以看到程式碼吧,
範例不就在你的程式碼中嗎?

阿海 iT邦新手 2 級 ‧ 2020-01-14 11:29:55 檢舉

因為這是華苓文管系統叫出來的
文管系統好像看不太到
只有流程系統我能看到

阿海 iT邦新手 2 級 ‧ 2020-01-14 11:58:10 檢舉

謝謝,這語法我看得懂

阿海 iT邦新手 2 級 ‧ 2020-01-14 12:00:10 檢舉

想問一下
(doc_path) >>>doc_path應該是java的變數名稱
但()的用意是什麼?

INSERT INTO document(doc_path) VALUES ('"+file+"')
小魚 iT邦大師 1 級 ‧ 2020-01-14 12:12:28 檢舉

這不就是基本的SQL語法而已嗎?

不一定是Java變數!Java裡面沒有

INSERT INTO document ...

這種語法!

華苓文管系統你確定一定是Java開發的嗎?/images/emoticon/emoticon19.gif
也許你真正的問題並不發生在Java上喔!

如果你的問題是希望透過SQL語法去開啟word檔,理論上是辦不到!
你需要自己開發Java程式(poi套件)來連結資料庫取得路徑後開啟!
或者使用報表軟體iReport、crystal Report、fine Report...連結資料庫取得路徑開啟!

阿海 iT邦新手 2 級 ‧ 2020-01-14 16:13:36 檢舉

上面那語法是手誤錯了,造成各位困擾

因為華苓會自動新增table
我當時一直在想他的table是如何自動產生的
原本有一個table叫table2019
在今年2020的時候,會自動產生table2020
在2020年內建立的資料都寫入這裡
所以才想成table2020(...)是Java變數
真的是手誤,打成()內的欄位名稱

create table table2020 (id varchar(10),...);

insert into table2020(id,...) values ('"+file+"',...)

另外我不是要用SQL開啟檔案
我看大家這樣說,我理解成
只要前台程式位置+SQL位置
組合起來的位置,可以對應到SERVER上硬碟位置
在網頁上開啟表單時,是不是就會自動把之前上傳的檔案叫出來了?

那也要你的\Regular資料夾有對應的網路路徑才讀的到 !
例如: http://localhost/Regular/xxx.doc
這樣才有辦法開啟或下載 !
如果是 D:\localhost\Regular\xxx.doc
這樣還是無法 !

阿海 iT邦新手 2 級 ‧ 2020-01-16 13:24:38 檢舉

大概了解了,謝謝

0
小魚
iT邦大師 1 級 ‧ 2020-01-14 11:19:32

檔案的處理我都是存檔之後,
資料庫只記網址(通常是相對路徑),
抓出來之後再組成正確的網址.

阿海 iT邦新手 2 級 ‧ 2020-01-14 11:24:24 檢舉

所以是程式端在做這件事?
有程式端的 範例 或 專有名詞嗎?

小魚 iT邦大師 1 級 ‧ 2020-01-14 11:27:16 檢舉

這個要配合實際的Server,
基本上你只要搜尋存檔跟讀檔就可以,
每個後端語言都有這方面的語法.

0

看你很努力的想要學東西,我很感動。
但原諒我說句不太客氣的話。

你目前想要問的西。就像是在問「告訴我車子要怎麼飛上天」
後續的回應則帶有點像是「我知道車子是能在路上跑的,但我只想知道要怎麼飛上天」...
等等感覺。

雖然你不懂我很明白,但因為這是基本的東西。我認為你知道原因。
只是你的回應還真的是屬於「不懂裝懂,非要達到目的不可」

針對你的問題來回答你。
sql雖然也可以算是屬於程式語言的一種。它也有其可能性能達到你的基本需求。
但並無法單單利用sql。
大多數你還得需要有「前」「後」端的觀念存在。

sql屬於後端。負責的是資料處理。資料處理完後就可以給前端來給用戶使用。
所以「看懂」跟「如何使用」是不一樣的。

你目前就是不知道該怎麼使用。一些大大們很努力的想要告訴你這些道理。
但發現你連基本的東西也不會。就真的不知道該如何教起來。

就這樣。言語中有得罪還請見諒。

看更多先前的回應...收起先前的回應...
阿海 iT邦新手 2 級 ‧ 2020-01-14 15:36:39 檢舉

謝謝指教
因為我以前是在PHP上直接查詢SQL內的資料
對於檔案存取還真的不太清楚

目前我是在別人的程式(華苓)裡寫一些function
對照以前上過JAVA課的東西,和現在JSP來比較
有些東西還真的對不太起來

至於SQL的部分
我目前都是只用到查詢/新增/刪除/修改
頂多手動建立新的TABLE來使用

真的要從0開始開發,而且要配合前台程式
我想也是需要學習的

Oracle / PostgreSQL 要直接讀取檔案,都是可以的啦.

https://ithelp.ithome.com.tw/upload/images/20200114/20109107pfqQx8RVQr.jpg
一級屠豬士,可惜他的截圖看來應該是 sql server/images/emoticon/emoticon13.gif

其實真要讀檔也不是不行。可以用二進制的方式來儲存處理。
讀取時再丟對應的副檔名給網頁跑就可以解決了。

只是,一般並不建議這樣幹就是了。且也容易有些問題存在。

SQL Server 也是可以的.
https://stackoverflow.com/questions/11539424/how-to-read-a-files-contents-into-an-sql-variable
順便連樓下問的,一起. 用 BLOB.

還有我們的ckp6250大大最愛的VFP,也都是可以的.
我還用過VFP讀MP3然後播放.

阿海 iT邦新手 2 級 ‧ 2020-01-16 13:26:15 檢舉

這是SQL Server沒錯,我來研究看看,謝謝

我要發表回答

立即登入回答