如果你用mssql比较麻烦,且涉及版权问题,建议使用msde。msde 相当于 简版的sql server, 没有 enterprice manager, isqlw, 可以使用 osql,isql 与数据库关联,也可以在有 enterprice manager 的机器上注册然后操作。 msde 可以作为一个小型的数据库,比着access等有很大的优点,支持大部分的sql server 功能。microsoft 建议客户端超过5个上,是用高级的 sql server 版本,这意味着 5个左右的同时在线操作没有什么问题。
在 sql server 的任何一个版本里都有,在 office 2000 以上的版本中也有,也就是意味着你有一套office ,就有使用 他的权利。
在 sql server 的任何一个版本里都有,在 office 2000 以上的版本中也有,也就是意味着你有一套office ,就有使用 他的权利。
msde在sql server的msde目录中
主要有两种方法,
简单方法是使用setup.exe,复杂方法是实用\msde\msm下的合并模块,可以将其无缝的集成到自己的msi安装程序里,不过很麻烦。第一种方法主要是设置setup.ini和setup.exe的命令行参数。
例如:1 [Options]
2 TARGETDIR="D:\Setup\msde\binn"
3 DATADIR="D:\Setup\msde\data"
4 INSTANCENAME="我的实例名称"
5 SECURITYMODE="SQL"
6 USEDEFAULTSAPWD注意:
4 安装命名实例可以避免和用户计算机上可能存在的sql server发生冲突
5 验证模式为混合模式
6 sa密码为空使用:F:\MSDE\SETUP /i F:\MSDE\setup\sqlrunXX.msi
就可以删除其他15个 sqlrunXX.msi了
根据你讲的俺试了一下,可以的,好像生成的目录中自动会加上MSSQL,
例如上面的MSDEMSSQL,起实例名称也会变成MSDEMSSQL$实例名称,然后我
想到了怎么附加数据库啊(在WINDOWS服务里面启动了SQLAGENT时,汗~)
还有就是我是直接点SETUP.EXE就安装了,没有用F:\MSDE\SETUP /i F:\MSDE\setup\sqlrun01.msi,因为我试过了用这个CMD命令安装后好像一样,
还试过了F:\MSDE\SETUP /i F:\MSDE\setup\sqlrun16.msi安装后跟sqlrun01.msi
好像没区别啊,这16个是不是一样的阿?
能具体说的详细点吗,俺用的是installshield,
没用过VISUAL INSTALLER,怎么样无缝集成啊
sp_attach_db '数据库名','数据文件名.mdf','日志文件名.ldf'如果是从备份文件中恢复,可以用:
restore database 数据库名 from disk='x:\备份文件'
救命啊,没有查询分析器怎么执行啊
bool __fastcall TfrmAutoConfig::AppendDatabase()
{
bool bResult = true;
bool bVar; AnsiString sql,strMess;
if(TestConnect->Connected )
{
try
{
ADOCommand1->Connection = TestConnect;
sql = " EXEC sp_attach_db @dbname = N'" + m_sDatabaseName +"',";
sql += " @filename1 = N'" + m_sCurrentPath + "\\" + m_sDBDataFileName + "',";
sql += " @filename2 = N'" + m_sCurrentPath + "\\" + m_sDBLogFileName + "'";
//sql += " @filename1 = replace(N'" + m_sCurrentPath + "\\" + m_sDBDataFileName + "','\\','\'),";
//sql += " @filename2 = replace(N'" + m_sCurrentPath + "\\" + m_sDBLogFileName + "','\\','\')";
ADOCommand1->CommandText = sql;// ->SQL->Clear();
ADOCommand1->Prepared = true;
ADOCommand1->Execute(); //strMess = " 数据库已成功添加到此数据库服务器上";
//MessageBox(Handle,strMess.c_str(),"数据库添加成功!",MB_ICONINFORMATION|MB_OK); }//end try()
catch(...)
{
strMess = "安装数据库失败!";
MessageBox(Handle,strMess.c_str(),"创建数据库",MB_ICONERROR|MB_OK);
bResult = false;
}//end catch(...) bVar = CreateDBLoginName(m_sUserName,m_sPassword);
}// if() bResult = bVar&&bResult;
return bResult;
}
{
bool bResult = true;
AnsiString strConnectString;// ,strHostName,strUserID,strPassWd;
strConnectString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" + m_sSaName + ";Data Source=" + m_sHostName;
try
{
TestConnect->ConnectionString=strConnectString;
TestConnect->Connected = true;
//MessageBox(Handle," 测试连接成功...\r现在可以添加顶天餐饮数据库到您的数据库服务器","----连接成功--->",MB_ICONINFORMATION|MB_OK);
}
catch(...)
{
MessageBox(Handle,"输入信息可能有误,测试连接失败..","连接失败",MB_ICONERROR|MB_OK);
bResult = false;
}
return bResult;
}
//---------------------------------------------------------------------------
然后用其 Execute 方法就可以执行我给出的语句了.