iT邦幫忙

0

請問如何將SQL指令寫入bat檔,且點bat可輸出txt檔?

請問如果想要把寫好的SQL放進bat檔
且點bat可輸出txt檔
要如何寫呢?
bat檔要讀取.mdb檔

有考慮用VBS嗎?
VBS是Visual Basic Script嗎
想寫好後是可以方便自動執行的
加入排成後可以自動輸出txt檔
0

https://zhidao.baidu.com/question/153567116

符号和>>符号为两个常用的重定向符号。>会将原始文件的内容清空,>>会在文件后面追加内容,如果文件不存在则创建文件。

具体使用方法如下:
echo Hello World >file.txt
运行后,会将Hello World输出到file.txt中

看更多先前的回應...收起先前的回應...

知道這個方法
但是要怎麼再加入寫好的SQL語法呢

若是讀取sql文字檔可以使用這種方法

感謝大大的方法提供
有學習到了!

1
froce
iT邦大師 1 級 ‧ 2018-10-25 10:03:11

你應該是要透過sql語法將mdb裡的資料取出吧?
bat大概沒辦法,powershell有辦法。

https://social.technet.microsoft.com/Forums/ie/en-US/3d69bba2-7b86-48ff-a3f6-f9d164ad85bb/accessing-ms-access-database-from-powershell?forum=ITCG

但我建議直接透過更正式的程式語言去做,會更好做。

是的~需要將mdb裡的資料取出後,再輸出成txt檔。

非常感協大大的建議,還沒用過powershell。
看起來是很好用的工具。來研究看看!

我將您提供的網站語法跟自己原本寫的結合。
想請教要怎麼再修改(還在研究中)

function test-DB{
Param(
$fileName = 'C:\data\rms_a.mdb',
)

$cn = New-Object System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$filename;Persist Security Info=False")
$cmd=$cn.CreateCommand()
$cmd.CommandText="SELECT net_no,d_card,t_card,card_no
FROM data_card
WHERE d_card = format(date()-1, "yyyymmdd");"
$cn.ConnectionString = $connextionString
$cn.Open()
$result = $cmd.ExecuteReader()
$table = New-Object System.Data.Datatable
$table.Load($result)
$table|ft-AutoSize
$connection.Close()

}

0
cancelpc
iT邦新手 4 級 ‧ 2018-10-28 01:43:59

若是 MSSQL 可以透過 batch + osql 上述功能很簡單就能完成。
抱歉,沒看到是 access 檔。

我要發表回答

立即登入回答