webapi 我想通过客户请求的参数来动态选择要操作的数据库,我这样测试,但一发布就会出错

gzwlj2001 2021-01-09 08:39:44
因为数据量大,单位每年都要新建一个新的数据库,但还要对旧数据库进行查询,我想用根据参数来自建连接实现这个要求,但试验发现问题,以下代码在本机调试用 localhost:6948/api/Test/GetTest?strYGNo=00002 来执行没有问题,但一发布用ip来试就会出 “ObjectContent`1”类型未能序列化内容类型“application/json; charset=utf-8”的响应正文。"的错误,我在网上搜说在WebApiconfig.cs中加上 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); 就可以了,但实测无用,反复测试后发现只要用哪两句连接生成的语句就会出错,一去掉这两句就没问题了,请问怎么解决,或者有没有其他的方法达到这个需求,总不会一个数据库就建一个网站吧

namespace LinlongHrmWebApi.Controllers
{
public class TestController : ApiController
{
[HttpGet]
public IEnumerable<string> GetTest(string strYGNo)
{
SqlConnection sqlConnection = new SqlConnection("Data Source=Myserver;Initial Catalog=myData;Integrated Security=True;User Id=sa;Password=aaa");

sqlConnection.Open(); //只要有这两句就出错

string sql = "select ygno,ygname from ygzl where ygno=N'" + strYGNo + "'";
DataTable dt = new DataTable();
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sql, sqlConnection);
sqlDataAdapter.Fill(dt);

yield return JsonConvert.SerializeObject(dt);
}
}
}
...全文
1493 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
既然“一去掉这两句就没问题了”就不用问了。
q80447533 2021-01-10
  • 打赏
  • 举报
回复
DDDDDdddddDD
王大师王文峰 2021-01-10
  • 打赏
  • 举报
回复
这个还好解决
肖无疾 2021-01-09
  • 打赏
  • 举报
回复
去掉这两句就没问题了,那后面的sqlConnection哪来的呢? Sql server好久没用了,mysql可以用表分区+计划实现每天一个文件。 你可以搜 SQL Server表分区 https://www.cnblogs.com/knowledgesea/p/3696912.html

62,248

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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