问题标签 [smo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2752 浏览

properties - 向 T4 模板添加属性 - 选择服务器、数据库、表

伙计们,

我想创建一些 T4 模板,用于从数据库生成类文件(每个表大约 7 个)以支持我们的内部 ORM(不要问 - 长篇故事和历史原因.....)

我真正想做的是在我的主 TT 模板上有一个属性,可以直观地选择要为其创建文件的服务器、数据库和表(类似于 CodeSmith 中的表选择器)。

由于这似乎不存在(或者确实存在?),我认为下一个最好的方法是使用三个字符串属性作为服务器、数据库、表名,并使用 SMO 连接到该表并获取我需要的列数据。

我尝试遵循 Oleg Sych 的示例,并提出:

但是如何在我的代码块中引用这些属性,这些属性连接到使用 SMO 指定的服务器来检索数据?

我尝试将 a<#= serverName #>放在 Server() 构造函数的括号内 - 但这不起作用:-( 好像我有点卡在这里......如果我无法评估,那么拥有属性有什么意义并使用他们的价值观!:-)

有接盘侠吗??

马克

0 投票
5 回答
6229 浏览

sql - 以编程方式检测 SQL Server 版本

我将 C# 与 SMO 一起使用,并尝试检测我正在连接的 SQL Server 版本(例如,企业版、标准版)。我知道如何获取版本信息,但这只能告诉我 SQL Server 的版本(例如,SQL Server 2008 与 SQL Server 2005)。

有谁知道如何获得实际的产品版本(例如,企业版、标准版)?

我需要此信息,因为某些 SQL Server 功能仅适用于企业。因此,我可以尝试调用它们并捕获异常,但我更喜欢预先检测。

谢谢!

0 投票
3 回答
2323 浏览

sql-server - 使用 SMO 运行 SQL 安装脚本。需要替代解决方案

我有一个使用 Microsoft Sql 管理对象 (SMO) dll 的 Web 应用程序。我想知道如何重新分配远程机器的库。

据我了解,这些随 SQL 服务器或 Sql express 一起提供——它们不在远程(共享)网络服务器上。要求主机安装,可能是不可能的,那么是否可以动态加载它们?

请参阅下面的错误 -

无法加载文件或程序集“Microsoft.SqlServer.Smo,Version=9.0.242.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。该系统找不到指定的文件。

或者,如果任何人都可以为下面的代码片段提供一种解决方法,这也是有用的。script 变量是一个 SQL 安装脚本,已经读到最后。这样做的好处是从 SQL 输出每个执行字符串。我当然可以只在一个块中执行它,但这不会逐行向用户提供视觉反馈,表明 sql 执行正常。

有没有可以执行这种事情的存储过程?或者在没有完全权限的情况下执行安装脚本的另一种方法。

0 投票
6 回答
3655 浏览

sql-server - SQL 2005 SMO - 查找引用表

我需要将一些主键从非集群更改为集群,但我不能删除约束,因为它是从其他外键引用的。

如何在不遍历数据库中的所有表的情况下找到引用父表中的主键作为外部关系的一部分的表?我需要禁用这些约束,更改 PK 并重新启用。

更新:

  1. 我不想使用纯 SQL 来执行此操作,而仅使用 SMO。

  2. 马克,我知道 ForeignKeys 我需要类似的东西: table.PrimaryKey.ForeignKeys (即哪些表正在引用我的表的主键) 我只是想避免遍历数据库中的所有表并检查每个表的 ForeignKeys 属性其中一个看看是否有任何人引用我的表。(不可扩展)

0 投票
1 回答
1505 浏览

sql-server - SQL Server SMO TransferData() 不断失败

我在 SQL Server SMO 中使用传输类的 TransferData 方法。我在 Windows XP 上运行调用,运行 SQL Server 2008 SP1,试图将表从另一台服务器上的 SQL Server 2000 传输到 XP 机器。它们都使用相同的 SQL 用户名和密码。我已经使用导入/导出向导进行了测试,它运行良好。

异常如下,事件日志有一个条目“包“ShellPackage”失败”错误。

异常错误将查询属性显示为空白并且没有替换 . 我假设某些 DTS 作品失败了,但我不确定是哪一个以及为什么。

异常:“错误:errorCode=-1073548784 description=Executing the query \"\" failed with the following error: \"The type initializer for '' throw an exception.\"。可能的失败原因:查询有问题,\" ResultSet\" 属性设置不正确、参数设置不正确或连接未正确建立。\r\n helpFile= helpContext=0 idofInterfaceWithError={C81DFC5A-3B22-4DA3-BD3B-10BF861A7F9C}"

我的代码:

0 投票
3 回答
1051 浏览

sql-server - SQL Server SMO 是否需要特殊权限才能使用?

我有 SMO 代码,可以将表从一个数据库复制到另一个数据库。它在桌面应用程序中运行良好。放入服务中的完全相同的代码会产生错误。该错误确实很模糊,并且没有暗示权限。

我想知道 SMO 对象是否需要使用任何类型的安全性。安全上下文?Windows凭据..等?我不是在谈论 SQL Server 安全性,而是围绕使用 SMO 方法的安全性。

0 投票
2 回答
1506 浏览

types - 将 System.types 转换为 SMO.DataTypes

我有一个项目通过 SMO 创建从 DataTable 到 SQL 表的表。

列的数据类型当前不从 System.Type 转换为 SMO.DataType。我可以通过案例声明来做到这一点,但我希望有一个更清洁的解决方案。也许涉及 TypeDescriptor.GetConverter(targetDataType)。

这适用于 System.types 和 SQL.DataTypes,但我无法将其转换为 SMO.DataTypes。

有什么建议或提示吗?

TIA

0 投票
4 回答
3779 浏览

c# - 通过 C# 和 SMO 检查和删除现有表

我正在尝试按名称查找 SQL 表,如果存在则删除它。这一切都需要在 C# 中使用 SMO 完成。

更复杂的是,该表还具有除“dbo”之外的模式。

最终,该表将通过 SMO 重新创建(我有这个工作),但我必须确保它不存在,然后才能重新创建它。

我看到的所有示例似乎都是在同一上下文中创建然后删除表。在我的情况下,该表将在前一个会话中创建和填充。

0 投票
1 回答
528 浏览

c++ - 如何在 C++ 中使用 smo 库

我正在尝试在 vs2005 中列出所有使用 c++ 的 sqlserver 实例。

如何在 C++ 中使用 smo 库来做到这一点?给我代码示例。

提前致谢..

0 投票
3 回答
3879 浏览

c# - 如何在 c# 中使用 smo 查找我的数据文件和日志文件的存储位置

谁能告诉我如何在 C# 中使用 SMO 找到我的数据和日志文件存储的位置?