ADO.NETの質問・雑談スレ2 (421レス)
1-

1: 2009/02/08(日)16:12 ID:??? AAS
ADO.NETに関する質問・雑談・評価 etc
何でもどうぞ。

前スレ
ADO.NETの質問・雑談スレ
2chスレ:db
392: 2013/10/16(水)03:55 ID:7O1WvKyT(1) AAS
いってらっしゃい
393: 2014/07/20(日)11:54 ID:usQ+cISA(1) AAS
★2ch勢いランキングサイトリスト★

◎ +ニュース板
・ 2NN
・ 2chTimes
◎ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
◎ +ニュース板他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
・ ログ速
◎ 全板実況込み
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索
394: 2015/03/01(日)17:25 ID:??? AAS
データベースデザイナ、便利だとの宣伝に釣られて使ってしまい、いま地獄を味わっている。
395: 2015/07/25(土)17:59 ID:??? AAS
ado.netってc#と関係有りますか?
c#習得出来たのでデータベースも勉強したいんですが、データベースってそれを使う目的が無いとプログラムも作れないし、どうやって勉強したらいいか迷っています。オススメの入門サイトなど有れば教えて下さい。
396: 2016/02/28(日)00:48 ID:??? AAS
保守
397: 2017/12/29(金)12:10 ID:dtNZwIie(1) AAS
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

IPPOSAG5MP
398: 2018/02/14(水)13:26 ID:??? AAS
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆
399: 2018/05/30(水)20:19 ID:PJp3eSco(1) AAS
AddWithValueによる型指定が出来ない
クソ!と思ってたが、

cmd.Parameters.AddWithValue("@変数",値).SqlDbType = SqlDbType.VarChar

みたいに簡単にできる事を知ったときはシビれた。
400: 2018/07/21(土)20:46 ID:??? AAS
fillでdatasetにselectの結果が入ると思うんですが、そのテーブル名をsql側で指定することってできますか?
401: 2018/10/13(土)19:52 ID:??? AAS
画像リンク

402: 2020/01/26(日)02:26 ID:BP0mZu6W(1/5) AAS
バイナリ型のデータの取得で質問があります
データベースでアクセスでフィールド型OLE オブジェクト型があり
そこにバイナリデータがあります。
具体的にはEXCELのファイルのバイナリが登録されています(これは直接登録)
そこからADO.NETでそのバイナリを読み出し
クライアントにダウンロードして開けたいと思っています。
プログラム
・・・・・・前半省略
while (reader.Read())//アクセスからデータをバイナリデータを読み込む
{
ExcelBinary = (Byte[])reader.GetValue(0);//EXCELのバイナリデータ(あらかじめ登録されている)
Response.AddHeader("Content-Disposition", "attachment;filename=" + "data.xlsx"); //ヘッダー
Response.ContentType = "application/msexcel";// MIMEコンテンツタイプを指定
Response.BinaryWrite(PhotoData);// HTTP出力ストリームにバイナリ文字の文字列を書き込む
Response.Flush();
Response.End();

これでいけるとおもうのですが確かにダウンロードしてEXCELがたちあがるのですが
ファイルが壊れているか拡張子が違うとメッセージが出て開けません
疑問点は何か足りない部分があるのでしょうか?
ちなみにアクセスでなくファイルのバスにEXCELデータを直接置いた場合はファイルがダウンロードされて
開けます。
さらにFsstreamで書き出して直接開けても同じこのがおこります。
EXCELやPDFはアクセスに登録してダウンロードして開けることはできないのでしょうか?
ご教授していただければ幸いです
403: 2020/01/26(日)02:26 ID:BP0mZu6W(2/5) AAS
バイナリ型のデータの取得で質問があります
データベースでアクセスでフィールド型OLE オブジェクト型があり
そこにバイナリデータがあります。
具体的にはEXCELのファイルのバイナリが登録されています(これは直接登録)
そこからADO.NETでそのバイナリを読み出し
クライアントにダウンロードして開けたいと思っています。
プログラム
・・・・・・前半省略
while (reader.Read())//アクセスからデータをバイナリデータを読み込む
{
ExcelBinary = (Byte[])reader.GetValue(0);//EXCELのバイナリデータ(あらかじめ登録されている)
Response.AddHeader("Content-Disposition", "attachment;filename=" + "data.xlsx"); //ヘッダー
Response.ContentType = "application/msexcel";// MIMEコンテンツタイプを指定
Response.BinaryWrite(PhotoData);// HTTP出力ストリームにバイナリ文字の文字列を書き込む
Response.Flush();
Response.End();

これでいけるとおもうのですが確かにダウンロードしてEXCELがたちあがるのですが
ファイルが壊れているか拡張子が違うとメッセージが出て開けません
疑問点は何か足りない部分があるのでしょうか?
ちなみにアクセスでなくファイルのバスにEXCELデータを直接置いた場合はファイルがダウンロードされて
開けます。
さらにFsstreamで書き出して直接開けても同じこのがおこります。
EXCELやPDFはアクセスに登録してダウンロードして開けることはできないのでしょうか?
ご教授していただければ幸いです
404: 2020/01/26(日)13:40 ID:??? AAS
MIME登録されてないだけだろ
IISで設定しろ
405: 2020/01/26(日)18:02 ID:BP0mZu6W(3/5) AAS
そうなんですか?
IISの設定なんているのですか?
Response.ContentType = "application/msexcel";// MIMEコンテンツタイプを指定
ではだめなんですか?
406: 2020/01/26(日)18:30 ID:BP0mZu6W(4/5) AAS
しかし、ダウンロードはできるのです。
そのファイルが開けないのです。(サポートされていない形式ですのエラーメッセージ)
サーバにファイルがある場合は普通にダウンロードできて開けるのです
アクセス、SQLServerにバイナリデータとして登録されている場合が
開けないのです。
407: 2020/01/26(日)20:18 ID:8nfufEbl(1) AAS
・バイナリデータの格納
・バイナリデータの読み込み
・データをダウンロードさせる
・(クライアントが)ファイルを開く
のうち、どこまで成功してるんだ?

そもそも、そのデータは「ファイルの中身」なのか?
408: 2020/01/26(日)20:39 ID:BP0mZu6W(5/5) AAS
バイナリはあらかじめ格納できているのです
それをサーバー側からダウンロードしてアプリを自動的に立ち上げ
(要はWebから自動的にPDFを開ける)のと同じようにしたいのです
PDF,EXCEL,WORDなどがバイナリとしてアクセスまたはSQLServerでダウンロード
して中身を見たいのです
Server.MapPath(string.Format(@"./File/{0}", "Test.bmp"));
のようにあらかじめファイルをディレクトリにおいたときは
Respnse.writeBainaryでうまくいきます
問題はSQLServer アクセスにバイナリとして格納したときはできないのかな?と
やっぱり、ディレクトリの位置だけでDBの登録してServer.MapPath
でダウンロードしかないのかなと。
409: 2020/01/28(火)23:10 ID:??? AAS
OLEオブジェクト型はバイナリ型じゃないからな
OLEヘッダ付きで格納されてるから、OLEヘッダ落とす必要があったはず
410: 2020/02/03(月)12:35 ID:??? AAS
そうなんだ。ヘッダー落すのは先頭からバイトを削る事何ですか。わ
411: 2020/02/03(月)21:24 ID:??? AAS
409
確かにマイクロソフトのaspnetの分厚い本にコードの書き方書いてありましたね
少し試して見ます。thanks
412: 2020/02/03(月)22:04 ID:01WTNDQb(1) AAS
自分の使い方が間違っているだけなのに文句を言うなよ。
413
(3): [age] 2020/10/29(木)19:13 ID:??? AAS
質問すみません。

環境:
- OS: Windows 10 (バージョン 2004, ビルド 19041.572)
- Visual Studio: Visual Studio 2019 Community (Version 16.7.6)
- ターゲット Framework: .NET Framework 4.0/4.7.2
- Driver: Microsoft Access Driver (*.mdb, *.accdb) 16.00.4999.1000 (Access 2016 Redist)

コード概要:
デーモンとして待ち受け、要求に応じてDB(主に Access accdb データベース)のデータを返すプログラムです。

現象:
ADODB.Connection をインスタンス化した connection を Open するとき、実行開始後初回〜数回は正常に値を取得できますが、数分時間をおいた後、再度 connection を Open すると、AccessViolationException が発生します:

```
ハンドルされていない例外: System.AccessViolationException: '保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。'
```

現状:
- デーモンのコンソールには、正常時には、結果が表示されますが、異常時(今回の現象)では「致命的なエラーです。」と表示されます:

```
致命的なエラーです。

ハンドルされていない例外: System.AccessViolationException: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
場所 ADODB.ConnectionClass.Open(String ConnectionString, String UserID, String Password, Int32 Options)
場所 Project1.Class1.Get(String[] fields, NameValueCollection nameValueCollection) 場所 C:\Users\mona\source\repos\Project1\Project1\Class1.cs:行 196
```

- "AccessViolation|fatal ado.net|adodb connection open" 等で Google 検索すると、Close 漏れだとかの指摘がありますが、Close は必ずしています。(finally 節で connection.Close() しています) <外部リンク:okwave.jp
- netsh winsock reset で改善したという事例 <外部リンク:social.msdn.microsoft.com がありましたので試しましたが改善しません。
- Provider=Microsoft.ACE.OLEDB.16.0;Data Source=C:\Users\mona\Documents\db.accdb;Persist Security Info=False; のような接続文字列の代わりにODBCデータソースでシステムDSNを定義し、DSN=db を指定しても改善しません。
- Visual Studio を管理者権限で実行しても改善しません。
- 試しにコネクションを毎回新規作成していますが改善しません。

英語サイト等も見ましたが先行事例がなかなか見つからず苦慮しています。せめてヒントでもありましたらご教示いただければ幸いです。よろしくお願いいたします。
414: 413 2020/10/29(木)19:35 ID:??? AAS
書き忘れました、データ量(レコード数)ですが、データは複数のテーブルに分かれており(特に JOIN などはしていません)、多いもので 3000件弱、少ないもので数十件です。
データ件数に関係なく発生します。
415
(1): 2020/10/29(木)21:15 ID:??? AAS
ACCESSは、というかOFFICE全般で、サーバサイドでの実行はサポートされない
ACE.OLEDBはサービスで動作させる設計にはなってないらしいぞ
416: 413 2020/10/30(金)19:40 ID:??? AAS
>>415
ありがとうございます。そもそもの使い方として想定されていなくて、せいぜい ASP.NET と組み合わせるのが関の山、といったところでしょうか。
SQLite の利用も検討します。

ちなみに、コードを精査したところ、読み出したいテーブルとは別のDB(別ファイル)にレコード追加をする時にコケているようです。
別DBへの接続を止めたらアクセス違反はなくなりました。
ただ、コード上は、それぞれ別の接続を使用していますし、デバッガでステップ実行する際も、コケない時とコケる時があるので、タイミングの問題なのかと考えています。
取り急ぎは、同じDBへの書き込みで回避できるか検討したいと思います。
417
(1): 2020/11/02(月)03:29 ID:??? AAS
いや、ASP.NETでの動作もサポートされてないから
418: 413 2020/11/03(火)18:11 ID:??? AAS
>>417
ありがとうございます。
サポート対象外とのこと、SQLiteなりSQL Server Express なりにDBを変えてみたいと思います。
本件クローズとします。
419: [age] 2020/12/13(日)21:51 ID:??? AAS
外部リンク:
youtube.com/watch?v=TTDVrOLz6MI
420: 2022/01/21(金)02:33 ID:??? AAS
小さな頃から優等生
421: 2023/02/02(木)13:02 ID:??? AAS
(  )y-~~ ( T)y-~~( T-)y-~~(T-T)y-~~
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s