我在 SQL Server 2008 上有一个 SqlLite 链接服务器。
我需要将图像列从 SQL Server 导入我的 SQLite 数据库。
那可能吗?
如果是的话,我需要什么样的 SQLite 列?
我需要转变......我认为
请帮我
我在 SQL Server 2008 上有一个 SqlLite 链接服务器。
我需要将图像列从 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)存储。
斑点。该值是一团数据,完全按照输入的方式存储。
并且,来自:这里
图像:从 0 到 2^31-1 (2,147,483,647) 字节的可变长度二进制数据。
我想 BLOB 应该是你需要的类型
编辑:
顺便提一下“图像”类型:
重要的
在 MicrosoftSQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。