1

我首先遇到代码的 ADS11 连接字符串问题,

我尝试了很多方法,但我无法做到。

有谁知道,请指教。

这是我的工作环境。


服务器:优势数据库服务器 11

路径:\ADS_DB:6262\DB\DBB.ADD(端口:62​​62)

测试访问表:WEBORDERLN(ADT 类型)

PK:PK(字符(36))


我下载了 Advantage.Data.Provider v11 和 Advantage.Data.Entity v11。并添加参考。

网页配置

<connectionStrings>
    <add name="Ads_Context" connectionString="Data Source=\\ADS_DB:6262\DB\DBB.ADD;User ID=xxx;Password=xxx;ServerType=REMOTE;" providerName="Advantage.Data.Provider" />
</connectionStrings>

控制器,

public class Ads_Context : DbContext
{
    public Ads_Context(): base("name=Ads_Context")
{   
}
public DbSet<WebOrderLN> webOrderLns { get; set; }
}

public class HomeController : Controller
{
    //
    // GET: /Home/

    public string Index()
    {
        var context = new Ads_Context().webOrderLns.ToList(); // Source error point to here

        return "A";
    }

}
[Table("WEBORDERLN")]
public class WebOrderLN
{
    [Key]
    public string PK {get; set;}
    public string FK { get; set; }
    public string pickno { get; set; }
}

当我运行上面的代码时,我收到一条错误消息,

Server Error in '/' Application.
Error 7200:  AQE Error:  State = HY000;   NativeError = 5174;  [iAnywhere Solutions][Advantage SQL][ASA] Error 5174:  Advantage failed to open the specified link.  dbo: Error 7041:  File not found.  Verify the specified path and file name is correct. Table name: WEBORDERLN  AdsCommand query execution failed. 

有谁知道,我做错了什么?

4

1 回答 1

2

尝试将 ::this 的模式名称添加到代码中的表中。

[Table( "WEBORDERLN", Schema = "::this" )]
public class WebOrderLN
{
    [Key]
    public string PK {get; set;}
    public string FK { get; set; }
    public string pickno { get; set; }
}

请参阅此知识库项目 http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=120423-2510

于 2012-11-13T15:07:36.757 回答