SQL Server 2008 で SqLite リンク サーバーを使用しています。
イメージ列を SQL Server から SQLite データベースにインポートする必要があります。
それは可能ですか?
はいの場合、どのような SQLite 列が必要ですか?
変身しなきゃ……と思う
私を助けてください
SQL Server 2008 で SqLite リンク サーバーを使用しています。
イメージ列を SQL Server から SQLite データベースにインポートする必要があります。
それは可能ですか?
はいの場合、どのような SQLite 列が必要ですか?
変身しなきゃ……と思う
私を助けてください
SQLite で同等の画像列は になりますBLOB
。
SQL Server と SQLite データベースの両方に接続し、一方からデータを読み取り、別のデータベースに挿入するスクリプトを作成することで、インポート タスクを実行できます。
データを挿入するときは、必ず準備済みステートメントを使用し、適切なデータ型で変数をバインドしてください。たとえば、Perl を使用している場合は、SQL_BLOB
バインディングを使用します。
use DBI qw(:sql_types);
my $dbh = DBI->connect("dbi:SQLite:my.db");
my $blob = `cat foo.jpg`; # you should read it from SQL Server here
my $sth = $dbh->prepare("INSERT INTO mytable VALUES (?)");
$sth->bind_param(1, $blob, SQL_BLOB);
$sth->execute();
から:ここ
ヌル。値は NULL 値です。
整数。値は符号付き整数で、値の大きさに応じて 1、2、3、4、6、または 8 バイトで格納されます。
本物。値は浮動小数点値で、8 バイトの IEEE 浮動小数点数として格納されます。
文章。値はテキスト文字列で、データベースのエンコーディング (UTF-8、UTF-16BE、または UTF-16LE) を使用して保存されます。
BLOB。値はデータの塊であり、入力されたとおりに保存されます。
そして、から:ここ
画像: 0 ~ 2^31-1 (2,147,483,647) バイトの可変長バイナリ データ。
BLOB は必要なタイプである必要があると思います
編集:
ところで、「画像」タイプには注意してください。
重要
ntext、text、および image データ型は、MicrosoftSQL Server の将来のバージョンで削除される予定です。新しい開発作業でこれらのデータ型を使用することは避け、現在それらを使用しているアプリケーションを変更することを計画してください。代わりに、nvarchar(max)、varchar(max)、および varbinary(max) を使用してください。