DOBON.NETプログラミング道掲示板

[ 最新記事及び返信フォームをトピックトップへ ]

■34302 / inTopicNo.1)  VB.NETでCSVを読み込む際にSQL文を使いたい
  
□投稿者/ 社畜からの開放 一般人(1回)-(2019/10/02(Wed) 20:58:41)
  • アイコン環境/言語:[Windows10 64bit VB.NET] 
    分類:[.NET] 

    ただいま、Visual Studioを使ってVB.NETによる簡単な注文処理ソフトウェアを開発しております。

    自身の知識不足もありうまく説明できていないのですが
    「同一LAN内のcsvファイルをVB.NET(で開発したソフトウェア)から読み取り、テーブルを操作し、更新したい。」
    上記が現在の私が目指すところになります。

    ただ、私の現在の知識では外部のデータベースを読み込む方法はcsv(テキストデータ)を1行ずつ読み込むことしかできておりません。
    一応csvを1行ずつ読み込み、配列として保存すれば疑似的には求める操作が可能であることは理解しており、実現可能だと思っております。

    ただ、それでは複数人で同時にデータベースにアクセスしたい場合や、抽出やJOINを行いたい際に不便が生じると考え、SQL文を利用しようと考えております。
    (MicrosoftOfficeAccess環境であれば最低限のSQL文は書いたことがあります。)

    ただ、そこでそもそも根本的にわかっていないのですが、本来SQL文を使う場合、データベースが保存されているサーバーでAccessやMySQLのようなデータベース管理ソフトウェアを常駐させる必要があり、他のソフトウェアからテーブルを利用する際はそれと接続する形でしか利用できないのでしょうか。(技術的に、ライセンス的に)
    開発環境のパソコンにはAccessが入っておりますが、他の使用予定のパソコンにはAccessが入っておらず、必要なRuntimeを入れるだけでよいのか、そもそもサーバーで起動する常駐ソフトが必要なのか判断できておりません。

    SQL文を使う前提として参照設定を行いますが、それを行って開発したものは、特定のRuntimeを別途インストールする必要があるといった、かなり限定的な環境でしか使えないソフトウェアになってしまいますか。


    自身のSQLについての知識のなさが原因ですごく曖昧な質問になってしまいましたが回答いただけますと幸いです。

    補足が必要等、情報が不足しておりましたら指摘いただけますと幸いです。

マルチポストを報告
違反を報告
引用返信 削除キー/
■34303 / inTopicNo.2)  Re[1]: VB.NETでCSVを読み込む際にSQL文を使いたい
□投稿者/ Hongliang 大御所(563回)-(2019/10/02(Wed) 21:18:04)
  • アイコンここなどどうでしょう。
    https://dobon.net/vb/dotnet/file/readcsvfile.html
    JET Provider、Microsoft Text DriverはいずれもWindows組み込みであり、外部ライブラリは必要ありません(x86版しかないので、x64アプリを作ることはできませんが)。
    ただし、記事中にもあるように、CSVの書式の解釈の問題があるので、必要に応じてschema.iniを用意しなければならないケースもあります。
違反を報告
引用返信 削除キー/
■34309 / inTopicNo.3)  Re[2]: VB.NETでCSVを読み込む際にSQL文を使いたい
□投稿者/ 社畜からの開放 一般人(2回)-(2019/10/03(Thu) 22:31:22)
  • アイコンありがとうございます。

    >Windows組み込みであり、外部ライブラリは必要ありません
    一番知りたかった情報がこれです。
    まだ実際に他のPCで動かしてはいませんがとりあえず試してみます。

    (32bitしか使えないというちょっと不安もありますが、試してから考えます。)
    同時に質問文にこそ本題とそれるため書いておりませんでしたがちょっと困っていたデータ型定義にも方針を与えていただきありがとうございます。

    改めてありがとうございます。
解決み!
違反を報告
引用返信 削除キー/
■34378 / inTopicNo.4)  Re[3]: VB.NETでCSVを読み込む際にSQL文を使いたい
□投稿者/ 社畜からの開放 一般人(6回)-(2019/11/10(Sun) 12:14:23)
  • アイコン解決済みにしておいた自身の質問に自己レスするのもすごく違和感がありますが

    VB.NETでは(というよりJETでは)csvを読み込む際にSQL文はHongliangさんの回答通り利用できました。(少なくともcsvの情報をVB.NETで作成したDataGridViewには反映させられました。)
    ただ、逆にVB.NET側からcsvに書き込むような処理(私が試したのはSQL文のUPDATE)はできないようです。
    「このISAMでは、リンクテーブル内のデータを更新することはできません。」というエラーが出ます。
    原因(?)を調べたところ、csvはあくまでテキストファイルであってデータベースではないことが原因のようです。
    自己レスですが情報共有として報告いたします。
    (私が無知なだけで常識だったら恥ずかしいので見なかったことにしてください。)

    参考
    http://korikorikorikori.blog.fc2.com/blog-entry-18.html?sp
解決み!
違反を報告
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Mode/  Pass/


- Child Tree -