使用 SMO 库从 C# 中的应用程序运行 .sql 文件

2024-02-28

我正在 C# Visual Studio 2012 RC 中构建一个应用程序。

我必须在应用程序中运行脚本。为此我正在使用。 这两个库。 我的应用程序的目标 .net 框架是 4.5。

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

我编写了代码来在检查天气数据库是否存在后运行脚本。

当我运行代码时,会弹出意外的异常。我真的知道这意味着什么。您能帮我摆脱这个异常吗?

我还附上了我的代码和异常预览。

请帮助我...我已经用谷歌搜索了太多了。

**Here are the Exception Details.**

System.IO.FileLoadException 未处理 HResult=-2146232799 Message=混合模式程序集是针对运行时版本“v2.0.50727”构建的,如果没有附加配置信息,则无法在 4.0 运行时中加载。 来源=mscorlib 堆栈跟踪: 在 System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly 程序集、字符串名称、布尔型 throwOnError、布尔型ignoreCase、ObjectHandleOnStack 类型) 在 System.Reflection.RuntimeAssembly.GetType(字符串名称,布尔值 throwOnError,布尔值ignoreCase) 在 System.Reflection.Assembly.GetType(字符串名称,布尔值 throwOnError) 在 Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements(字符串查询、ExecutionTypesexecutionType、Int32& statementsToReverse) 在Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串sqlCommand,ExecutionTypes执行类型) 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串 sqlCommand) 位于 e:\Works\McFarlane Industries\McFarlane Industries 销售点源代码\McFarlaneIndustries\SplashScreen.cs 中的 McFarlaneIndustriesPOSnamespace.SplashScreen.CreateDatabase():第 139 行 位于 e:\Works\McFarlane Industries\McFarlane Industries 销售点源代码\McFarlaneIndustries\SplashScreen.cs 中的 McFarlaneIndustriesPOSnamespace.SplashScreen.splashScreenTimer_Tick(Object sender, EventArgs e):第 159 行 在 System.Windows.Forms.Timer.OnTick(EventArgs e) 在 System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) 在System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam) 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 在System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID,Int32原因,Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 原因,ApplicationContext 上下文) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 原因,ApplicationContext 上下文) 在 System.Windows.Forms.Application.Run(Form mainForm) 位于 e:\Works\McFarlane Industries\McFarlane Industries 销售点源代码\McFarlaneIndustries\Program.cs 中的 McFarlaneIndustriesPOSnamespace.Program.Main():第 19 行 在 System.AppDomain._nExecuteAssembly(RuntimeAssembly 程序集,String[] args) 在 System.AppDomain.nExecuteAssembly(RuntimeAssembly 程序集,String[] args) 在 System.Runtime.Hosting.ManifestRunner.Run(布尔 checkAptModel) 在 System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly() 在 System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContextactivationContext,String[]activationCustomData) 在System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContextactivationContext) 在 System.Activator.CreateInstance(ActivationContext 激活上下文) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() 在 System.Threading.ThreadHelper.ThreadStart_Context(对象状态) 在System.Threading.ExecutionContext.RunInternal(ExecutionContextexecutionContext,ContextCallback回调,对象状态,布尔保留SyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContextexecutionContext,ContextCallback 回调,对象状态,布尔保留SyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContextexecutionContext,ContextCallback 回调,对象状态) 在 System.Threading.ThreadHelper.ThreadStart() 内部异常:


您似乎正在尝试加载 .net 2 版本的 Microsoft.SqlServer.xxxx.dll。将您的引用更新为 .net4 版本(首选),或将以下口头禅添加到您的 app.config 下<configuration> node

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  <requiredRuntime version="v4.0" />
</startup>

允许加载 .net 2 程序集。看此处了解详细信息 http://connect.microsoft.com/SQLServer/feedback/details/643811/net-4-0-compatible-smo.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SMO 库从 C# 中的应用程序运行 .sql 文件 的相关文章

  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 当一组凭据下的计划任务启动的进程在另一组凭据下运行另一个程序时,Windows 是否有限制

    所以我有一个简单的例子 其中我有应用程序 A 它对用户 X 本地管理员 有一些硬编码的凭据 然后它使用硬编码的绝对路径启动带有这些凭据的应用程序 B A 和 B 以及 dotnet 控制台应用程序 但是它们不与控制台交互 只是将信息写入文件
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • File.AppendText 尝试写入错误的位置

    我有一个 C 控制台应用程序 它作为 Windows 任务计划程序中的计划任务运行 此控制台应用程序写入日志文件 该日志文件在调试模式下运行时会创建并写入应用程序文件夹本身内的文件 但是 当它在任务计划程序中运行时 它会抛出一个错误 指出访
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 使用 omp_set_num_threads() 将线程数设置为 2,但 omp_get_num_threads() 返回 1

    我有以下使用 OpenMP 的 C C 代码 int nProcessors omp get max threads if argv 4 NULL printf argv 4 s n argv 4 nProcessors atoi argv
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • 将 csv 附加到电子邮件 xcode

    我在电子邮件视图中收到了一个有效的 csv 附件 问题是 当我在 iPhone 上打开 csv 时 它会将文件很好地显示在单独的列中 但如果我用 Excel 打开它 它就全部在一个字段中 我需要两列 我该怎么做 尝试用逗号分隔字段 但这不起
  • IPv4 到十进制不同的值?

    为什么 inet pton 和 inet addr 1734763876 的 IPv4 十进制值与使用这 2 个网站 1684366951 得到的值不同 struct sockaddr in sin inet pton AF INET 10
  • Java 类文件的创建是确定性的吗?

    当使用same JDK 即相同的javac可执行文件 生成的类文件总是相同的吗 是否会有差异 具体取决于操作系统 or hardware 除了JDK版本之外 是否还有其他因素导致差异 是否有任何编译器选项可以避免差异 差异仅可能存在于理论上
  • 查找 Active Directory 中特定用户所属的组/分发列表

    假设我在 OU Groups DC contaco DC com ct 我可以找到子 OU 中的所有组 但找到用户 bobdole 所属的所有组的唯一方法是查看每个组 看看他是否在 成员 字段中 不幸的是 当我查看用户 bobdole 时
  • 如何使div的宽度在两个div之间拉伸

    我当前的问题是我有三个 div 元素 一只向左漂浮 一只向右漂浮 一只在两者之间 我希望中心 div 自动拉伸到两个 div 之间可用宽度的最大宽度 HTML div div 1 div div div div 2 div div CSS
  • 控制何时调用静态构造函数

    在我的自定义属性的静态构造函数中 我在加载的程序集中搜索用我的属性修饰的所有类 并对它们执行一些操作 我希望在运行时尽快调用静态构造函数 最好是在执行之前static void Main 入口点 目前 只有在我对属性进行一些调用后才会调用它
  • 是否可以对 jQuery UI 对话框小部件的显示/隐藏方法进行更精细的控制?

    目前 在使用对话框小部件时 我似乎只能以最基本的形式使用效果 例如 以下将使用放置效果来显示和隐藏对话框 dialog dialog show drop hide drop 但是 drop 方法的默认值始终落在左侧 我真正想要的是让它下降到
  • spring security方法级注解应该应用在controller层还是service层?

    我一直在我的控制器方法上使用 Spring Security 和 PreAuthorize 我的理由是 我希望授权检查能够在一层中以可预测的方式进行 并且在请求中尽早进行 但是 我刚刚阅读了 spring security 3 文档 看到他
  • 遍历n*n矩阵的c程序

    我们有一个 n n 矩阵 例如我们取 n 4 矩阵如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 我们必须按顺序遍历它 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 我怎样
  • IOS Coredata UNIQUE 约束失败:

    我正在尝试将数据插入 coredata 但出现错误 例如 CoreData 错误 1555 唯一约束失败 ZSIDETABLENAME Z PK 设想 首先 从 appdelegate m 我将数据从 SQL 文件复制到文档目录的 sql
  • 如何从HWND获取窗口类名和ID?

    如何从HWND获取窗口类名和ID 我搜索了一下 但发现相反的更受欢迎 有什么想法吗 回答者Andreas https stackoverflow com questions 3246663 how to get the window cla
  • Android 屏幕关闭时识别音量按钮按下

    我试图识别用户何时在屏幕关闭时按下音量键来更新活动 根据我的阅读 广播接收器 我认为 在手机睡眠时不起作用 因此唯一的方法是使用 PARTIAL WAKE LOCK 保持活动运行 我的应用程序是一个基本应用程序 不应该使用太多电池 但我担心
  • 禁用 Highcharts 中的 PDF 和 SVG 下载选项

    我在我的 Web 应用程序中使用 Highcharts v4 0 3 和 exporting js 并且我希望能够为最终用户提供以下下载选项 下载 JPG 格式的图表 下载 PNG 图表 但是 标准选项是 打印图表 下载 JPG 格式的图表
  • 使用 font Awesome 和 css 自定义复选框

    我正在制作一个带有 font Awesome 和 css 的自定义复选框 单击 选中复选框时 我尝试在黑色复选框周围创建一些填充 选中 单击时在白色框中有一个较小的黑色框 import url netdna bootstrapcdn com
  • 处理 float() 函数

    首先 是这个功能 https processing org reference floatconvert html特殊处理还是默认存在于java中 当我在处理下面的行时编码时 println float 88 t float 88 n t
  • 如何正确地为 Office COM 加载项实现 IDTEXtensibility2 接口?

    我正在为 Outlook 实施 COM 加载项 我使用 IDTEXtensibility2 我不确定这是否是执行 COM 加载项的最佳方式 但我无法更改它 该接口定义了五个方法 OnConnection OnStartupComplete
  • Ember CLI:自定义输入助手

    我正在尝试使用 UrlField 扩展 Ember 的 TextField 以便如果有人忘记包含http 它为他们做到了 这是我的观点 视图 input url js import Ember from ember export defau
  • 模块对象没有属性“DescriptorExtractor_create()”

    我安装了 opencv3 1 0 并正确安装了 opencv contrib 但收到错误 no module DescriptorExtractor create 一切都很好 建议 在 OpenCV 3 x 中 SIFT 和 SURF 已被
  • 如何使用 XChart 使 Y 轴上的限制相同?

    我正在尝试绘制一系列相似的函数 域是 0 1 范围总是在 3 3 中 我希望每个图表的 Y 轴限制都相同 尝试设置系列 y min 和 y max 似乎不起作用 有没有办法使每个图表上的 Y 轴限制相同 import java math B
  • 使用 SMO 库从 C# 中的应用程序运行 .sql 文件

    我正在 C Visual Studio 2012 RC 中构建一个应用程序 我必须在应用程序中运行脚本 为此我正在使用 这两个库 我的应用程序的目标 net 框架是 4 5 using Microsoft SqlServer Managem