发布使用SQL Server的软件的问题

lextm 2007-10-25 04:37:17
做的软件发布。客户那边装了SQL Server,但是需要我们的软件来建立Database和Table。我们手里有一个从企业管理器导出的sql脚本文件,就是不知道该用什么命令来执行这个SQL脚本。用过isql.exe,但是这个不支持named instance,偏偏SQL Server 2005 Express就是一个named instance。
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lextm 2007-11-01
  • 打赏
  • 举报
回复
今天下载了一个别人的备份数据库的软件,看了源代码。和一二楼两位说的思路一样。原来连接字符串里面只要写Initial Catelog=master就好了。

感谢大家的帮忙。
lextm 2007-10-31
  • 打赏
  • 举报
回复
最后还是没有解决。我只好试试看另一个叫osql的工具了。
lextm 2007-10-26
  • 打赏
  • 举报
回复
我采用的是OLEDB连接数据库,但是在创建数据库之前,似乎没法写连接字符串吧,

例如,一个有效的连接字符串例子是Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

需要指明Initial Catalog吧。如果我程序用到的database已经建好了,这个地方应该就是那个database的名字吧。

可是问题是我还没有建立database的时候,这个地方怎么写?有不需要Initial Catalog就可以连接到SQL Server 2000的连接字符串?
kadboy 2007-10-26
  • 打赏
  • 举报
回复
以上发错了,大家别骂我
kadboy 2007-10-26
  • 打赏
  • 举报
回复
--[Sql2005]
declare @tb table(name varchar(7),Freq int)
insert @tb(name,Freq) values( 'F42XHL3',900)
insert @tb(name,Freq) values( 'F42XHL7 ',1800)
insert @tb(name,Freq) values( 'F42XHL8 ',1800)
insert @tb(name,Freq) values( 'F42XHL9 ',1800)

with tb(序号,name,Freq) as
(
select 序号,Name,Freq
from
(select Row_NUmber() over (order by name) '序号',name,Freq from @tb where Freq=900
union all
select Row_NUmber() over (order by name) '序号',name,Freq from @tb where Freq=1800) as tb
)
select name,Freq from tb
where 序号 in (select 序号 from tb group by 序号 having count(*)=2)
order by 序号,Freq

cxmcxm 2007-10-25
  • 打赏
  • 举报
回复
在开发软件中使用ado连接到数据库,
再将脚本文件用ado.command来执行即可。

其实,安装数据库,将数据库备份后再恢复更方便,不过必须在服务器上完成。
dawugui 2007-10-25
  • 打赏
  • 举报
回复
在软件里面使用语句动态创建数据库和表.一般来说,创建库和表及基本数据的SQL已经写好,只需要执行一下即可.这个和SQL SERVER无关.开发软件(如PB,DELPHI)等都有这些功能.

另一种方法是做好一个备份文件(空库,但包含一些基本数据),然后在开发软件(PB,DELPHI)里面使用代码恢复数据库.

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧