2017-01-09 1 views
0

VB.Netの使用BLOBフィールドを持つAccessテーブルを作成しようとしています。 Access自体を使用してテーブルを作成し、そのフィールドを「Oleオブジェクト」として宣言しました。しかし、顧客にとっては、プログラムでテーブルを作成する必要があります。私は試みました:AccessデータベースでのBLOBの作成

create table BLOBTABLE (BlobFileName TEXT(255) NOT NULL , BlobData LongVarBinary) 

テーブルを作成するエラーが発生します。私のConnectionStringでは、 "Provider = Microsoft.Jet.OLEDB.4.0"を使用しています。私はそれがLongVarBinaryデータ型が好きではないと推測していますが、私は他に何を使うべきか分かりません。誰もこれを行う方法を知っていますか?これを発見 テーブルBLOBTABLE(BlobFileNameのTEXT(255)NOT NULL、BlobDataのOLEObjectオブジェクト)を作成

+0

[Office 2013のアクセスデータ型](https://msdn.microsoft.com/en-us/library/office/ff193793.aspx) – Steve

+0

返信いただきありがとうございます。そのリストは、対応するoledbデータ型がmsアクセス "Oleオブジェクト"に対応しているかどうかを示していません。私が研究したすべてが、私が "LongVarBinary"だと信じるように導くが、私が言ったように、それは例外をスローするので、何かが欠落しているに違いない。 –

+0

BINARYまたはLONG​​BINARYと同様に動作しますが、そこに保存するものを正確に知らなければ、バイナリデータをデータベース列に格納しないようにすることができます。代わりに、データを含むオペレーティングシステムファイルへの相対パスを格納します。このようにして、MS-Access Jetフォーマット(最大2GBのmdbサイズ)の制限を回避することができます。 – Steve

答えて

1

プログラムでアクセスデータベースの "ブロブ"(すなわち "OLEオブジェクト" タイプ)を宣言する適切な方法があります試行錯誤によってそれがどこにでも書かれているのを見つけられなかった。

関連する問題