2012-11-19 159 views
0

我在SQL Server 2008上有一個SqLite鏈接服務器。SQL Server上的SQLite鏈接服務器

我需要將圖像列從SQL Server導入到我的SQLite數據庫中。

這可能嗎?

如果是在什麼樣的SQLite列我需要?

我需要改變.....我覺得

請幫我

回答

0

來源:here

  • NULL。該值是一個NULL值。

  • INTEGER。該值是一個有符號整數,根據值的大小存儲在1,2,3,4,6或8個字節中。

  • REAL。該值是一個浮點值,以8字節的IEEE浮點數存儲。

  • TEXT。該值是一個文本字符串,使用數據庫編碼(UTF-8,UTF-16BE或UTF-16LE)存儲。

  • BLOB。該值是一組數據,完全按照輸入存儲。

和,從:here

圖像:可變長度從0到2^31-1 (2,147,483,647)字節的二進制數據。

我想這BLOB應該是你需要的類型

編輯:

的方式小心使用 「圖像」 類型:

重要

ntext,文本和圖像數據類型將在未來版本的MicrosoftSQL Server中刪除。避免在新的開發工作中使用這些數據類型,並計劃修改當前正在使用它們的應用程序。改爲使用nvarchar(max),varchar(max)和varbinary(max)。

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();