Tag: sql server

在服务器端以编程方式更改报告的SSRS数据源

今天,对于每个客户,我们部署相同的SSRS报告文件夹和数据源文件夹。 这些文件夹之间的区别是每个文件夹的名称和数据源的连接字符串。 我们正在使用Report Server 2008 R2。 在报表呈现之前,是否可以只维护一个报表和数据源文件夹并以编程方式更改其服务器端的连接字符串? 如果没有,是否可以通过更改报告中的某些逻辑来实现? 今天我们使用“共享数据源”选项。

如何让Linq to SQL识别动态存储过程的结果集?

我正在使用Linq-to-SQL和SQL Server后端(当然)作为项目的ORM。 我需要从一个从动态创建的表返回的存储过程中获取结果集。 这是proc的样子: CREATE procedure [RetailAdmin].[TitleSearch] ( @isbn varchar(50), @author varchar(50), @title varchar(50)) as declare @L_isbn varchar(50) declare @l_author varchar(50) declare @l_title varchar(50) declare @sql nvarchar(4000) set @L_isbn = rtrim(ltrim(@isbn)) set @l_author = rtrim(ltrim(@author)) set @l_title = rtrim(ltrim(@title)) CREATE TABLE #mytemp( [storeid] int not NULL, [Author] [varchar](100) NULL, [Title] [varchar](400) NULL, [ISBN] [varchar](50) NULL, […]

查找数据库上的打开连接数

我的web应用程序是在asp.net 2.0,c#2.0和sql server 208中如何找到我的sql server 2008数据库上的打开连接数。有没有办法清除连接池。因为我的网站托管在共享主机上他们提供的连接有限。 在我的编码中,我在使用后关闭了所有连接,但我仍然收到暂停数据库的警告。 任何人都可以告诉我如何在数据库上找到数字打开连接以及如何清除连接池。 我使用using语句进行连接,并在finally块中使用后关闭所有连接。 所以尽管有错误,它会关闭oped连接。 提前致谢。

使用for循环将多个记录插入SQL Server数据库

我正在使用C#编写Windows窗体项目。 我试图从数组中将多个记录插入SQL Server数据库。 进入第一行后,我得到一个例外 @UserID已经被声明了。 变量名在查询批处理或存储过程中必须是唯一的。 数据库中的主键没有问题,因为UserID不是主键。 这就是我想要做的。 public static void featuresentry() { SqlConnection connection = new SqlConnection(HandVeinPattern.Properties.Settings.Default.HandVeinPatternConnectionString); SqlCommand command = new SqlCommand(); connection.Open(); try { command = connection.CreateCommand(); for (int i = 0; i < Details.modelKeyPoints.Size; i++) { command.CommandText = "INSERT INTO FEATURES(UserID, Angle, ClassID, Octave, PointX, PointY, Response, Size) VALUES(@UserID, @Angle, @ClassID, @Octave, […]

DbCommand和参数化SQL,ORACLE vs SQL Server

我有一个应用程序,除其他外,将各种数据存储到数据库中。 数据库可能是ORACLE或SQL Server。 SQL是根据执行期间获取的配置和值动态创建的。 通过使用DbProviderFactory,我的db方法可以使用ORACLE或SQL Server,而无需为任何数据库编写自定义代码,除了一件事; 参数/绑定变量。 对于ORACLE,我需要使用”:ParameterName”而对于SQL Server,我需要使用”@ParameterName” 。 有没有办法让这个通用? 示例代码: public class DbOperations { private DbProviderFactory m_factory; private DbConnection m_CN; … private void InsertToDb(ValueType[] values, ColumnType[] columns) { DbCommand Cmd = m_factory.CreateCommand(); Cmd.Connection = m_CN; StringBuilder sql = new StringBuilder(); sql.Append(“INSERT INTO “); sql.Append(DestinationTable); sql.Append(” (“); for (int i = 0; i < […]

Guid Uniqueness在不同的机器上

可能重复: GUID是100%独一无二的吗? 在阅读Guid上的所有post后,我仍然不清楚一件简单的事情: 由不同机器生成的Guids也保持其唯一性。 我已经阅读过关于单机的guid唯一性,但我仍然不了解不同机器的唯一性

ScriptingOptions sql smo不支持脚本数据

我正在使用c#代码生成sql数据库脚本。 以下代码适用于create table但是当我尝试使用scriptOptions.ScriptData = true; 它抛出以下exception。 Microsoft.SqlServer.Smo.dll中发生未处理的“Microsoft.SqlServer.Management.Smo.FailedOperationException”类型的exceptionexception 附加信息:此方法不支持脚本数据。 码 public static string ScriptDatabase(string dbConnectionString, string databaseName) { SqlConnection conn = new SqlConnection(dbConnectionString); ServerConnection serverConn = new ServerConnection(conn); var server = new Server(serverConn); var database = server.Databases[databaseName]; var scripter = new Scripter(server); // I tried this code also // scripter.Options.ScriptData = true; ScriptingOptions scriptOptions = new […]

从非域计算机连接到域SQL Server 2005

几天前我问了一个问题( 从使用Windows身份validation的非域计算机访问SQL Server 2005 ),这个问题得到了一些有趣但不可用的建议。 我想再次提出这个问题,但要弄清楚我的约束是什么: 我有一个Windows域,其中一台机器运行SQL Server 2005,并配置为仅支持Windows身份validation。 我想在同一网络上的计算机上运行C#客户端应用程序,但不在域上,并访问SQL Server 2005实例上的数据库。 我不能在任何一台机器上创建或修改操作系统或SQL Server用户,我也不能对权限或模拟进行任何更改,也不能使用runas。 我知道我可以使用以下四个参数编写可以连接到SQL Server数据库的Perl和Java应用程序:服务器名称,数据库名称,用户名(域名为domain \ user)和密码。 在C#中,我尝试了各种各样的事情: string connectionString = “Data Source=server;Initial Catalog=database;User Id=domain\user;Password=password”; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); 并尝试将集成安全性设置为真假,但似乎没有任何效果。 我想在C#中做什么根本不可能? 感谢任何帮助,马丁

通过C#备份SQL Server

通过C#代码备份SQL Server数据库有多容易? 我看到很多相关的问题,但没有真正的答案。

使用C#在SQL Server上的临时表中插入3万行的最快方法

我试图找出如何使用c#在SQL Server的临时表中提高插入性能。 有些人说我应该使用SQLBulkCopy但是我必须做错了,因为它似乎比简单地构建一个SQL插入字符串慢得多。 我使用SQLBulkCopy创建表的代码如下: public void MakeTable(string tableName, List ids, SqlConnection connection) { SqlCommand cmd = new SqlCommand(“CREATE TABLE ##” + tableName + ” (ID int)”, connection); cmd.ExecuteNonQuery(); DataTable localTempTable = new DataTable(tableName); DataColumn id = new DataColumn(); id.DataType = System.Type.GetType(“System.Int32”); id.ColumnName = “ID”; localTempTable.Columns.Add(id); foreach (var item in ids) { DataRow row = localTempTable.NewRow(); […]