webapi 我想通过客户请求的参数来动态选择要操作的数据库,我这样测试,但一发布就会出错
因为数据量大,单位每年都要新建一个新的数据库,但还要对旧数据库进行查询,我想用根据参数来自建连接实现这个要求,但试验发现问题,以下代码在本机调试用 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);
}
}
}