小编Sco*_*ain的帖子

将文本列中的 RTF 批量转换为纯文本

我有一个旧系统,表中有大约 1000 万行。在该表中有一个 type 列text,其中大部分是标准文本,但大约 50 万行中有 RTF 标记。我需要将 RTF 格式的文本转换为纯文本。

我当前的方法是我有一个 C# 程序,它使用 a 将查询加载到 DataTable 中,SqlDataAdapter并使用 winformsRichTextBox控件进行转换。

void bw_DoWork(object sender, DoWorkEventArgs e)
{
    count = 0;

    rtbRTFToPlain = new RichTextBox();

    using (SqlDataAdapter ada = new SqlDataAdapter("select note_guid, notes from client_notes", Globals.SQLConnectionString))
    using(SqlCommandBuilder cmb = new SqlCommandBuilder(ada))
    {
        DataTable dt = new DataTable();
        ada.UpdateCommand = cmb.GetUpdateCommand();

        ada.Fill(dt);

        int reportEvery = dt.Rows.Count / 100;
        if (reportEvery == 0)
            reportEvery = 1;
        foreach (DataRow row …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server c#

8
推荐指数
1
解决办法
3万
查看次数

除了附加调试器之外,“(local)\Instance”和“MyLocalName\Instance”之间还有其他区别吗?

当使用 SQL Server Management Studio for SQL Server 2008 R2 连接到本地 SQL Server 2008 R2 实例(版本 10.50.2500)时,我知道如果我使用实例名称(local)\sql2008,它将无法将调试器附加到我尝试执行的任何查询使用错误消息进行调试

无法启动 T-SQL 调试。无法连接到计算机“(本地)”。请求的名称有效,但未找到请求类型的数据。

但是,如果我更改src\sql2008与调试器的连接,则可以愉快地运行。

(local)除了我上面指出的调试器问题之外,让您的连接使用别名还有其他区别吗?

sql-server ssms sql-server-2008-r2 alias

7
推荐指数
1
解决办法
1386
查看次数

MERGE 最佳实践的说明

我只是想从“优化 MERGE 语句性能”页面。

我正在使用一个数据仓库,它从许多不同的数据库中获取记录并存储数据。我的仓库数据库中的所有表基本上都遵循相同的模式:

CREATE TABLE Foo (
    database_guid UNIQUEIDENTIFIER
    ,FooPk BIGINT
    ,Bar NVARCHAR(20)
    ,Qix NCHAR(10)
    ,CONSTRAINT [PK_Foo] PRIMARY KEY CLUSTERED (
        database_guid ASC
        ,FooPk ASC
        )
    )
GO

CREATE PROCEDURE [iv].[LoadSomeTable] 
    @databaseGUID UNIQUEIDENTIFIER
AS
BEGIN
    SET NOCOUNT ON

    MERGE Foo
    USING #FooStaging AS Source
    ON Foo.FooPk = Source.FooPk AND Foo.database_guid = @databaseGUID
    WHEN MATCHED THEN
        UPDATE SET Bar = Source.Bar
                  ,Qix = Source.Qix
    WHEN NOT MATCHED THEN
        INSERT (database_guid, FooPk, Bar, Qix)
            VALUES (@databaseGUID, FooPk, Bar, Qix); …
Run Code Online (Sandbox Code Playgroud)

sql-server best-practices t-sql sql-server-2012 merge

6
推荐指数
1
解决办法
2135
查看次数

删除聚簇索引后,仍然在尝试做聚簇插入

我正在尝试将数据从一个数据库系统转换为另一个数据库系统。我需要传输和格式化的表之一包含超过 1000 万行。

我正在运行以下脚本来做到这一点:

USE [Cvti101687]
go
truncate table [IDAT_MR_NOTEHISTORY]
go
IF  EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[IDAT_MR_NOTEHISTORY]') AND name = N'PK_iMR_NOTES')
    ALTER TABLE [dbo].[IDAT_MR_NOTEHISTORY] DROP CONSTRAINT [PK_iMR_NOTES]
GO
USE [101687_test2]
GO

declare @ChunkCounter int
declare @ChunkSize int
set @ChunkCounter = 0
set @ChunkSize = 50000

--hack to do a do-while loop in sql
while 1 = 1
begin
    insert into cvti101639..IDAT_MR_NOTEHISTORY with (tablock)
    SELECT newid(), '00000000-0000-0000-0000-000000000000', '00000000-0000-0000-0000-000000000000', '00000000-0000-0000-0000-000000000000'
    ,'00000000-0000-0000-0000-000000000000',    ISNULL(TargetClientAccountNum, [REC_CLINUM]), ISNULL(TargetPetAccountNum, '     ')
    ,ISNULL(pck_desc, 'Converted …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server clustered-index insert bulk

2
推荐指数
1
解决办法
164
查看次数