accessviolationexception-尝试读取或写入受保护的内存这通常表示其他内存已损坏

5t7ly7z5  于 2021-07-29  发布在  Java
关注(0)|答案(0)|浏览(251)

已安装操作系统-windows 10 64位
已安装sqlxml_x64.msi并在我的应用程序中使用microsoft.data.sql.xml
已创建控制台应用程序-framework 4.5.2
下面是我从sql数据库获取数据的逻辑。

SqlXmlCommand cmd = new SqlXmlCommand("My SQL connection string");
cmd.CommandText = "/Tbl_Name[@Column_Name='SomeValue']";
cmd.CommandType = SqlXmlCommandType.XPath;
cmd.SchemaPath = "My xsd file path";
string strResult;
    try
    {
        strm = cmd.ExecuteStream();
        strm.Position = 0;
        using (StreamReader sr = new StreamReader(strm))
        {
            Console.WriteLine(sr.ReadToEnd());
        }
    }

在x64(平台目标)中执行应用程序时,获取“尝试读取或写入受保护的内存。这通常表示cmd.executestream()行中的“其他内存已损坏”。如果我在启用了首选32位选项的任何cpu选项中运行应用程序,应用程序工作正常。
我不知道为什么它不能在x64平台上工作,为什么它可以在x86和任何支持32位选项的cpu上工作。因为我正在安装sqlxmlx64.msi并在我的64位控制台应用程序中引用64位microsoft.data.sql.xml.dll。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题