VB6から『画像ファイル(.bmpと.jpg)』、『テキストファイル(.txt)』を
SQLServerデータベースに保存するといったものを作成しようとしています。
フィールドのデータ型は、画像をimage型、テキストをvarbinary型に設定したいと考えておりまして、画像の方は、Byte型に代入後、LoadFromFileメソッドやWriteTextメソッドで保存や取込が出来たのですが、テキストの方が、同じようにByte型に代入までは出来たものの、その先どのようにして保存(取込)をして良いか分かりません。(エラーになってしまいます。)
テキストの方もデータ型をimage型にするしか方法はないのでしょうか?
何か良い方法があれば教えていただけませんでしょうか?
宜しくお願いします。
No.3
- 回答日時:
なるほどねー。
もう1つ可能性がありました。それはファイルサイズが8000バイトを超えているということです。
SQL Server 2000ではvarbinaryの最大長は8000です。
従って、それが理由ならば打つ手はありません(imageしかないです)。
SQL Server 2005ではvarbinary(MAX)に入れればいいんですけどね。
No.1
- 回答日時:
この手の質問にはバージョンを記載することをお勧めします(特にLOBは2005と2000で大幅に違います)。
image & varbinaryということで、SQL Server 2000でいいですか?
テキストファイルをtext型でなく敢えてバイナリ保管する理由はなんですか?セキュリティですか?
ADO.Streamを使って書き込めば、imageでもvarbinary(8000)でも、textでも問題なく読み書きできます。
バイナリの最もシンプルな例は以下です。
Sub test()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim st As New ADODB.Stream
cn.Open "接続文字列"
st.Open
st.Type = adTypeBinary
st.LoadFromFile "C:\TextFile.txt"
rs.Open "SELECT * FROM テーブル", cn, adOpenKeyset, adLockOptimistic
rs.AddNew
rs.Fields("F1").Value = st.Read
rs.Update
rs.Close
st.Close
cn.Close
Set st = Nothing
Set rs = Nothing
Set cn = Nothing
End Sub
> jamshid6さん
早速の回答ありがとうございます。
例に書いていただいた方法を取っているのですが、varbinaryにすると
「複数ステップの OLE DB の操作でエラーが発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませんでした。」というエラーとなってしまいます。(例の中でいうと、「rs.Fields("F1").Value = st.Read」のところで)
ちなみにSQLServerは2000ですが、2005でも使用するようになります。
とりあえず、2000で動けばいいのですが・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(プログラミング・Web制作) 【GAS】Gmail本文をブラウザ表示された状態でPDFにしたいです 1 2022/12/12 09:54
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBSでテキストファイルの2行目...
-
テキストファイル内容の、16進...
-
テキストファイルの一部分を抽...
-
ATTファイルってどうやって開け...
-
既存のテキストファイルを開く方法
-
VB(VBA)で、バイナリデータを使...
-
ファイルのチェックサムを改行...
-
C#(.Net)におけるエンコード...
-
バイナリデータの中からMidのよ...
-
WORDのVBAで差し込み印刷時、デ...
-
EUC-JP版とUTF-8版の違い
-
Excel VBAが徐々に遅くなる
-
コーディングについて。
-
テキストファイル固定長データ...
-
C#におけるファイル読み取りの...
-
フォーム無しでアプリを作成す...
-
ASP.NET Web上のテキストファ...
-
別のサーバーのテキストファイ...
-
[VB.NET] 処理の高速化を行いた...
-
C言語のファイル処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
VBSでテキストファイルの2行目...
-
テキストファイルの一部分を抽...
-
既存のテキストファイルを開く方法
-
Excel VBAが徐々に遅くなる
-
テキストファイルの特定行の削...
-
Windowsのメモ帳でUTF-8を選択...
-
テキストファイル内容の、16進...
-
VB(VBA)で、バイナリデータを使...
-
エクセルVBAでメールの自動作成...
-
VBA。開いているテキストファイ...
-
[VB.NET] 処理の高速化を行いた...
-
ASP.NET Web上のテキストファ...
-
フォーム無しでアプリを作成す...
-
テキストファイル固定長データ...
-
ファイルのチェックサムを改行...
-
文字コードの変換(JISコードへ)
-
UTF-8とASCIIコードにおける互...
-
C言語でテキストファイルをバイ...
-
テキストファイルをSQLServerデ...
おすすめ情報