
正文
sqlserver读取文件,sql文件怎么读取
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么快速读取SQLSERVER中的数据
1,给两个表都建立索引
2,在用sql时,指明你的字段名,哪怕你有100个字段,就把这100个字段名写出来,而不是用*
你试下这个,应该速度会快很多。就只用第二个就会速度有明显提升
如果你只要符合结果的前十几条,用
select top 15 字段名1,字段2.... from ....where....
这样就只读前几条了 尽量不要用order by
相关问答
Q1: 我用来读取sqlserver数据库中二进制数据读到文件中是这样的
编码格式问题吧
看你写入数据库用的什么编码格式了
如果ASCII:
string info = System.Text.Encoding.ASCII.GetString(data );
如果UTF8:
string info = System.Text.Encoding.UTF8.GetString(data );
然后再把info写入文件中,就不用说了吧
Q2: sqlserver怎么读取图片的内容的呢?
数据库表中的图片是image类型。
数据库表中的Image数据类型可以进行数据图片的存储。保存的是二进制字节,所以写入数据库Image数据类型时,数据库自动将图片转换成二进制字节后存入。从数据库Image数据类型读取内容时,则是将二进制字节先转换成图片,再输出。
扩展资料:
如果SQL Server是缺省安装时, IMAGE类型字段是有长度限制,用来存储图片大小不超过2g的图片。缺点是占用了很大的数据存储空间。但是对于之前的存储物理路径来说读取图片和存储图片方便了很多。
IMAGE类型字段如果写入的数据超过长度限制就会抛出异常,缺省的长度限制是65536,需要修改数据库的全局配置参数才可以扩大IMAGE类型字段的存储空间。
Q3: SQLServer读取XML文件的做法
SQL Server 使得以XML导出数据变得更加简单 但在SQL Server 中导入XML数据并对其进行处理则有些麻烦
如果你参考Books Online(BOL) 你会发现有相关的条目 包括OPENXML以及 OPENROWSET 所有的这些例子都支持将XML文本作为已经声明的变量 这对于经常处理文本的用户来说非常方便 但对于希望在开发中读取XML文件并进行相应处理的开发人员来说就不是这样了 处理这样的问题 或许最好从内到外来对其进行分析
OPENXML是一个rowset函数(即返回一个rowset) 它的工作方式类似于rowset函数OPENQUERY和 OPENROWSET 使用OPENXML可以对XML数据执行JOINs操作而无需首先导入数据 你还可以将其同INSERT SELECT UPDATE以及DELETE等操作联合使用 然而 要使用OPENXML 你必须执行两项OPENQUERY和OPENROWSET并不需要的任务 这两项任务需要两个系统存储进程 第一个是sp_xml_preparedocument 它将读取特定的XML文本并将其内容提取到内存中 其语法如下
sp_xml_preparedocument @hdoc = OUTPUT
[ @xmltext = ]
[ @xpath_namespaces =
具体参数如下 @hdoc 指向某内存区域的句柄(从作用上看等同于一个指针) 相关数据存放在这里 注意这是一个输出变量 当该进程运行后 该变量将包含指向XML文件内容在内存地址的句柄 由于你需要在随后使用此结果 因此要确保对其进行保存; @xmltext 实际上你所希望处理的XML文本; @xml_namespaces 为了正常操作你的XML数据所需要的任何名字空间索引(namespace references) 注意在这里出现的任何URL都需要用尖括号( )括起来; 假设所传递的这些参数都有效 并且XML文档存在 那么你的XML数据就会被存放到内存中去 现在你就可以调用 sp_xml_preparedocument 传递存放有XML文件的变量 然后执行OPENXML 语法如下
OPENXML(idocint [in] rowpatternnvarchar[in] [flag *** yte[in]])
[WITH (SchemaDeclaration | TableName)]
注意 在本文中没有足够的文字来描述OPENXML所接收的参数 请参阅BOL以获取更多信息 在Transact SQL Reference中查找OPENXML
现在我们已经到达了最后的步骤 所有剩下的工作就是导入一个实际的XML文件到SQL并进行处理(很奇快为什么所有的BOL示例都没有涉及到这一关键的部分) (我必须感谢我的同事Billy Pang所给予的帮助 他帮助我解决这个问题 并给出了代码——尽管出于本文需要我对代码进行了裁减 谢谢Billy!) 基本的技巧是 将文件逐行按文本读取 然后把所有读取的行连接为一个大的VARCHAR变量 最后 将变量传递给前面所说的代码
以下就是读取文件并将其内容存放到某变量的代码
DECLARE @FileName varchar( )
DECLARE @ExecCmd VARCHAR( )
DECLARE @y INT
DECLARE @x INT
DECLARE @FileContents VARCHAR( )
CREATE TABLE #tempXML(PK INT NOT NULL IDENTITY( ) ThisLine VARCHAR( ))
SET @FileName = C:\Temp\CurrentSettings xml
SET @ExecCmd = type + @FileName
SET @FileContents =
INSERT INTO #tempXML EXEC master dbo xp_cmdshell @ExecCmd
SELECT @y = count(*) from #tempXML
SET @x =
WHILE @x @y
BEGIN
SET @x = @x +
SELECT @FileContents = @FileContents + ThisLine from #tempXML WHERE PK
= @x
END
SELECT @FileContents as FileContents
DROP TABLE #tempXML
现在在变量@FileContents变量中你已经获得了文件的全部内容 所需要做的只是将变量通过@xmltext参数传递给sp_xml_preparedocument 然后再调用OPENXML
lishixinzhi/Article/program/SQLServer/201311/22101
Q4: 如何读取SQLSERVER数据文件地址
先将数据库文件*.mdf和*.ldf考到你要放置的目录下
然后用
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\Mssql\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\Mssql\Data\pubs_log.ldf' 不明白的话,我远程教你。
sqlserver读取文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sql文件怎么读取、sqlserver读取文件的信息别忘了在本站进行查找喔。







