Search


Meta

Creative


Support


Leesoft

Feed™

Recent Comments

Photos

Mar
25

备份,还原数据库的命令

Posted by » developerly
58 hits

工作需要要写一个批处理自动备份还原数据库。摘录相关sql文如下

备份:backup database 数据库 to disk=’c:\你的备份文件名’
恢复:restore database 数据库 from disk=’c:\你的备份文件名’

Mar
20

Ruby分析XML文件并写入数据库

Posted by » developerly
73 hits

最近工作中有一个需求,要把一个XML文件中的内容导入到数据库中去。Ruby就成了手头最好用的工具。Ruby不仅可以用来做网站,而且作为一个脚本的确能够大大的简化我们的生活。下面的代码所处理的xml文件结构如下:

<root>
<ParentNode node_attr1=”xxx” node_attr2=”xxx”>
<SubNode field1=”xxxx” field2=”xxxx” field3=”xxxx” field4=”xxxx” field5=”xxxx” field6=”xxxx”/>
</ParentNode>
<ParentNode node_attr1=”xxx2″ node_attr2=”xxx2″>
<SubNode field1=”xxxx” field3=”xxxx” field4=”xxxx” field6=”xxxx”/>
</ParentNode>
<root>

其中ParentNode的内容要存入MainTable,SubNode中的内容要存入RelatedTable,并且之间用ID1建立连接。 SubNode中的Field列表最多有6个元素,但是也可能少于6个元素。点 more 链接可以查看我的代码。出于某些原因,我替换了一些关键字。最后一行代码是在本机运行,调用命令行命令,执行SQL语句。
跳转后阅读Ruby分析XML文件并写入数据库的完整内容

Mar
19

sql server 读取 blk文件

Posted by » developerly
149 hits

select * from
openrowset(BULK
‘X:\FOLDER\xxxxxx.blk’,
FORMATFILE = ‘X:\SCHEMA\InfoStructFmt.xml’ )
as a

Mar
16

SQL Server 2005 中感受Synonym

Posted by » developerly
44 hits

有人说,在整个应用程序中,数据库是相对不变的。可惜随着业务逻辑的频繁改动,这个相对也渐渐变成了不对。如果没有变化,那么对于我们软件开发来说,将是 一个天堂。可是实际的世界总是动态的。所以不要期望数据库能维持多久的稳定。SQL Server2005中提供了Synonym功能,可以看做面对变化而生的一种解决方案。
所谓Synonym,字面上理解很简单,就是同义词。也就是可以为其他的表建立别名,别看这个小小的功能——所谓其他的表可以是其他数据库中的表也可以是其他SQL Server服务器中的表。
典型的应用场景:
比 如某用户写了很多的stored procedure,里面用到了[Item]表。现在业务逻辑的改变,要求将Item表放到另外一个特定的数据库中,并使用新的名字 [NewDatabase][dbo][CItem]。Replace All大法可不是一个好的解决方案哦。最简单的办法,就是建立Synonym,就像这样:
Create Synonym Item FOR NewDatabase.dbo.CItem
这样就可以使用以前所有的SQL语句了,而不用改变任何事情。
如果我们把CItem表移到另外的SQL Server服务器上呢?我们依然可以:
Create Synonym Item FOR NewSQLServerrInstance.NewDatabase.dbo.CItem
当然纯粹这么做还是不够的,连到另外的SQL Server上总需要一定的仪式才显得初来这是一个很严肃的事情呢嘛。所以,我们需要注册这个SQL Server Instance,通过使用如下的存储过程:

sp_addlinkedserver [ @server = ] ’server’
[ , [ @srvproduct = ] ‘product_name’ ]
[ , [ @provider = ] ‘provider_name’ ]
[ , [ @datasrc = ] ‘data_source’ ]
[ , [ @location = ] ‘location’ ]
[ , [ @provstr = ] ‘provider_string’ ]
[ , [ @catalog = ] ‘catalog’ ]
也就是说,我们需要:

EXEC sp_addlinkedserver
@server = ‘NewDatabase’,
@provider = ‘MSDASQL’,
@provstr = ‘DRIVER={SQL Server};SERVER=192.168.X.X;UID=sa;PWD=******;’

就可以使用这个SQL Server Instance了。