0

我在 SQL Server 2008 上有一个 SqlLite 链接服务器。

我需要将图像列从 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)存储。

  • 斑点。该值是一团数据,完全按照输入的方式存储。

并且,来自:这里

图像:从 0 到 2^31-1 (2,147,483,647) 字节的可变长度二进制数据。

我想 BLOB 应该是你需要的类型

编辑:

顺便提一下“图像”类型:

重要的

在 MicrosoftSQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。

于 2012-11-19T10:02:21.447 回答