0

SQL Server 2008 で SqLite リンク サーバーを使用しています。

イメージ列を SQL Server から SQLite データベースにインポートする必要があります。

それは可能ですか?

はいの場合、どのような SQLite 列が必要ですか?

変身しなきゃ……と思う

私を助けてください

4

2 に答える 2

0

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();
于 2012-11-19T10:37:35.077 に答える
0

から:ここ

  • ヌル。値は 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) を使用してください。

于 2012-11-19T10:02:21.447 に答える