分离出来的mdf数据源放在程序中,程序一运行,这个数据库就会自动附加到sqlserver上

sunshine_anycall 2008-12-01 03:20:18
分离出来的mdf数据源放在程序中,程序一运行,这个数据库就会自动附加到sqlserver上
============
怎么回事啊?
...全文
191 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshine_anycall 2008-12-01
  • 打赏
  • 举报
回复
因为sqlserver是服务型数据库,不是文件型,单mdf文件是无法操作的。
所以一定是要附加的,但是只要指定了数据库名的话,如果这个库已经存储在了,那么就不会附加了
同时再指定Data Source=.\SQLEXPRESS就只会在sqlexpress下附加了
sunshine_anycall 2008-12-01
  • 打赏
  • 举报
回复
搞定了,这样
<add name="POCConnectionStringExp"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=H:\Work\Projects\POC\Code\Call_Project\CallApp\CallApp\POC.mdf;;Initial Catalog=POC;Integrated Security=True"
providerName="System.Data.SqlClient" />
sunshine_anycall 2008-12-01
  • 打赏
  • 举报
回复
OK,Changan i'll try it! Thanks man and everybody!
fcuandy 2008-12-01
  • 打赏
  • 举报
回复
上面跟你说了,主要是改连接字串。
sunshine_anycall 2008-12-01
  • 打赏
  • 举报
回复
文件换了很多的位置了,没用
flairsky 2008-12-01
  • 打赏
  • 举报
回复
自动加载了,把文件挪个位置吧
fcuandy 2008-12-01
  • 打赏
  • 举报
回复
你用sql express,将mdf放在app_data下,connection连接串指定attchdbfilename这种方式时,当然会把mdf附加到实例下,因为sqlserver是服务型数据库,不是文件型,单mdf文件是无法操作的。

如果你不是希望调用这个mdf文件里的库,且把这个库附加到实例, 那么改用
connectionString= "Data Source=.;uid=xxx;password=xxx;database=xx " providerName= "System.Data.SqlClient "/>

之类这种方式
wsh236 2008-12-01
  • 打赏
  • 举报
回复
程序已运行就附加上?没有独特的操作么?
dawugui 2008-12-01
  • 打赏
  • 举报
回复
这就不知道了,我那是提供你个方法,得自己去找了.友情帮顶.
sunshine_anycall 2008-12-01
  • 打赏
  • 举报
回复
是不是这个的错
<add name="POCConnectionStringExp"
connectionString="Data Source=.;AttachDbFilename=|DataDirectory|\Data\POC.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

AttachDbFilename这个地方错了嘛?如果是的话,怎么解决呢?谢谢!
哦,对了
代码里没有附加的语句
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace CallApp
{
public class RunDataSet
{
// Static constants
private const string SQL_SELECT = "SELECT * FROM Activity_History WHERE ActivityType = 11";

/// <summary>
/// Get all requests
/// </summary>
/// <returns></returns>
public static DataSet GetRunList()
{
SqlCommand cmd = new SqlCommand();

//Open a connection
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{

StringBuilder strSQL = new StringBuilder();

strSQL.Append(SQL_SELECT);

// Open the connection
conn.Open();

//Set up the command
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSQL.ToString();

//Execute the query
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();

adapter.Fill(ds, "ACTIVITY_HISTORY");

return ds;
}
}
}
}
水族杰纶 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
在代码中有附加数据库的语句.

你把分离出来的东西全部删除了.(实现拷贝到另外一个目录),再试试.
[/Quote]
同意~~~~~~~~~~~
hyde100 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
在代码中有附加数据库的语句.

你把分离出来的东西全部删除了.(实现拷贝到另外一个目录),再试试.
[/Quote]
查查代码用的语句
dawugui 2008-12-01
  • 打赏
  • 举报
回复
在代码中有附加数据库的语句.

你把分离出来的东西全部删除了.(实现拷贝到另外一个目录),再试试.

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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