<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>博客/Blogs | 遗昕传媒（伴随着您成长 伴随着您进步） - weisim3.com</title>
<link>https://www.weisim3.com/Blogs</link>
<description>数据库包含的科目：Sql Server、Oracle、MySql、SQLite、Access</description>
<language>UTF-8</language>
<ttl>60</ttl>
<copyright>Copyright (C) 2007 - 2026 遺昕 | Weisim3.com, All Rights Reserved.</copyright>
<item>
<title>无法启动SQLServer FullText Search 服务1075:服务不存在,或已被标记为删除</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=211&Date=20241103-19-19-28]]></link>
<description><![CDATA[Windows无法启动SQL   Server   FullText   Search(MSSQLSERVER)服务,错误   1075:服务不存在，或已被标记为删除。安装Sql   server之后无法启动全文搜索服务。有说在Sql server    Configuration Manager中Sql server 2005网络配置 “MSSQLSERVER的协议”将VIA禁用后可以启动，不起作用无法启动，如下图：按照以下步骤解决此错误：1. 打开注册表项，Win+R   运行输入“regedit”，在注册表依次展开西面目录   “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\msftesql”。将值“DependOnService ” 重命名为任何名称或将其留空，安全起见可以在执行此操作时备份注册表 … ]]></description>
<pubDate>Sun, 03 Nov 2024 11:19:28 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>Access数据操作报错:System.Data.OleDb.OleDbException: 未指定的错误</title>
<category>Access</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=209&Date=20240905-08-30-18]]></link>
<description><![CDATA[Access数据操作报错:System.Data.OleDb.OleDbException: 未指定的错误，英文：system.data.oledb.oledbexception: unspecified error程序部署到Windows Server 2019上后报错:“/”应用程序中的服务器错误。详细信息:   未指定的错误说明: 执行当前 Web 请求期间，出现未经处理的异常。请检查堆栈跟踪信息，以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误, 如下图:这里总结提供几种详尽解决方案：• 在 Machine.config 文件的 &lt;processModel&gt; 部分中将 ASP.NET 工作进程配置为在 SYSTEM 帐户下运行。 … ]]></description>
<pubDate>Thu, 05 Sep 2024 00:30:18 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>Sql关联查询inner join和left join和right join 和 cross join</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=207&Date=20240708-18-52-58]]></link>
<description><![CDATA[Sql 查询两个以上的数据表，关联查询常用的不同类型的 SQL JOIN   以下是 SQL 中 JOIN 的不同类型：(INNER) JOIN：返回两个表中具有匹配值的记录LEFT (OUTER) JOIN：返回左表的所有记录，以及右表中匹配的记录RIGHT (OUTER) JOIN：返回右表的所有记录，以及左表中匹配的记录FULL (OUTER) JOIN：当左表或右表有匹配项时，返回所有记录CROSS JOIN：交叉连接将第一个表的每个记录与第二个表的每个其他记录组合在一起如下图：INNER JOIN示例：a表和b表没有通过主键关联，两表都有一个UserId列，通过该列关联，a的UserId数据表有的数据b表的UserId不一定有，代码如下：SQL 代码    复 … ]]></description>
<pubDate>Mon, 08 Jul 2024 10:52:58 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>Operation must use an updateable query</title>
<category>-请下拉选择-</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=203&Date=20240306-18-17-18]]></link>
<description><![CDATA[Access数据库无法访问，报异常：“Operation must use an updateable query.”，无法准确定位，在本地都正常，但是到服务器上后，报错出这种异常，一般是mdb数据文件没有访问权限，此此时需要添加“Everyone”用户访问权限，即可正常访问数据的读写操作。如下图：Windows server系列操作系统用于企业服务器，对文件的访问权限高于其它Windows系统，如果是个人电脑如Windows 10 Home（家庭版）、Windows 10 Education（教育版）没有那么高的文件权限，当在这些系统下创建的文件上传到Server系统服务器，或从另一台服务器传输文件容易出现此类异常。只需对文件目录或文件修改添加 … ]]></description>
<pubDate>Wed, 06 Mar 2024 10:17:18 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine</title>
<category>Access</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=202&Date=20240201-15-57-07]]></link>
<description><![CDATA[一般新安装的Windows Server操作系统为64位容易遇见的异常，服务器IIS无法连接Access数据库，报错：“The &#39;Microsoft.Jet.OLEDB.4.0&#39; provider is not registered on the local machine. ”。这里Access为32位，而服务器主流都是64位机器，IIS默认初始状态是Enable 32位值为“false”是没有启动的，此时需要在IIS下启动32位即可。如下图：详细操作：打开IIS管理器，找到“应用程序池”，然后选中对应网站程序名，右侧“编辑应用程序池”，然后打开“高级设置”，在“高级设置”面板中“常规”中“启用32位应用程序”设为“true”，上图为英文版Windows Server操纵系统面 … ]]></description>
<pubDate>Thu, 01 Feb 2024 07:57:07 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>ADO.NET 和 LINQ to SQL的关系</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=197&Date=20230902-22-27-50]]></link>
<description><![CDATA[LINQ TO SQL是包含在.NET Framework 3.5 版中的一种 O/RM 组件(对象关系映射)，O/RM 允许直接使用 .NET 的类来对关系数据库进行建模。Microsoft .NET Framework 3.5 于 2007 年底发布，并内建在 Visual Studio 2008 中。ADO.NET 和 LINQ to SQL的关系，我们还是引用微软官方说明下：LINQ to SQL 是 ADO.NET 系列技术的一部分， 以 ADO.NET 提供程序模型提供的服务为基础。 因此，开发时可以将 LINQ to SQL 代码与现有的 ADO.NET 应用程序混合在一起，并将当前 ADO.NET 解决方案迁移到 LINQ to SQL。 下图高度概括了关系：ADO.NET 和 LINQ to SQL | Microsoft Learn。ADO.NET需要 … ]]></description>
<pubDate>Sat, 02 Sep 2023 14:27:50 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>Could not load file or assembly 'System.Data.SQLite' or one of its dependencies.</title>
<category>SQLite</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=192&Date=20230402-20-17-27]]></link>
<description><![CDATA[windows 2008 server 下IIS上程序报错：“ Could not load file or assembly &#39;System.Data.SQLite&#39; or one of its dependencies. 试图加载格式不正确的程序”。这个问题网络上还不少遇到，英文社区也不少提这个问题的，其它版本的Windows Server版本64位机器也有同样的问题，如下图：此问题实质是“System.Data.SQLite”版本问题，System.Data.SQLite 是SQLite基础的驱动，由于服务器是64位，而“System.Data.SQLite”组件是32位，这时需要在“IIS程序池”的“ 高级设置”，然后再高级设置面板“启动32位应用程序”设置为“True”即可正常运行程序。如下图：然后，再设 … ]]></description>
<pubDate>Sun, 02 Apr 2023 12:17:27 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>Sql Server 查询当天数据两个方案</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=181&Date=20220504-22-50-14]]></link>
<description><![CDATA[在Sql Server查询当天数据或某天数据，传入指定某天数据值为条件，这里我们提供了两种方案：第一种，采用“DATEADD”和“DATEDIFF”组合，结合“WHERE … BETWEEN … AND”查询；第二种，采用“WHERE … YEAR … MONTH … DAY”。第一种查询：利用“DATEADD”取时间值，“DATEDIFF”设置开始时间DECLARE @TodayStart datetimeDECLARE @TodayEnd datetime SET @TodayStart = DATEADD(dd, DATEDIFF(dd, 0, @TodayStart datetime), 0) -- example: year-month-day 00:00:00.000SET @TodayEnd = DATEADD(ss, -1, DATEADD(dd, 1, @TodayStart)) -- example: year-month-day 23:59:59 … ]]></description>
<pubDate>Wed, 04 May 2022 14:50:14 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>Sql server 修改数据表列的数据类型</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=169&Date=20210803-13-06-36]]></link>
<description><![CDATA[在数据库建好的数据表已经设定好列数据类型属性，有时因实际需要调整某列的数据类型，这时需要通过Sql脚本进行修该，语法：“ALTER TABLE   [数据库名].[dbo].[数据表] ALTER COLUMN [数据表列名] Nvarchar(100);    ”。如下图，示例中在[abc]数据库中建立一个[User]数据表,有三例Id、Num、Name数据属性随意设定类型。这里把[Name]列的数据类型varchar(9)修改成nvarchar(30), 写法：“ALTER TABLE [abc].[dbo].[User] ALTER COLUMN [Name] nvarchar(30);    ”。如下图：通过这样可以修改数据表列的数据类型、数据长短修改，微软官方参考地址：https://docs.microsoft.com/zh- … ]]></description>
<pubDate>Tue, 03 Aug 2021 05:06:36 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>Access执行delete无法删除-操作或事件已被禁止模式阻止</title>
<category>Access</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=154&Date=20200803-15-52-47]]></link>
<description><![CDATA[Access数据库mdb文件，对数据表执行Delete删除语句，不执行无法删除，或者Update更新语句也不执行，状态栏提示“操作或事件已被禁用模式阻止”，在安全警告：提示“已禁用了数据库中的某些内容”，如下图：处理方法：打开“安全警告”旁边的“选项”按钮，在安全选项面板中，将“有助于保护我避免未知内容风险(推荐)(P)”选项改为“启用此内容(E)”,然后点击确定，即可正常执行。如下图：]]></description>
<pubDate>Mon, 03 Aug 2020 07:52:47 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>Sql Server报错：将截断字符串或二进制数据。 语句已终止。</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=151&Date=20200605-15-41-38]]></link>
<description><![CDATA[将加密字段值插入到数据表时报错：“将截断字符串或二进制数据。 语句已终止。”，不知道是何处冲突，捣腾了一会儿，这个字段值是Nvarchar(15)，问题出在：数据字段太短，把字段改成Nvarchar(256)之后，就可以了。加密字段刚好有特殊字符，被截断到特殊字符这里就报出下面图片错误，如果没有特殊字符，直接会被掐掉多出来的字符，存入数据表字段中。这种情况如果varchar类型字段，如果没有设置足够长度在这种情况，应该也是会报出同样的错误异常。而设置为varchar(Max)或nvarchar(MAX)，或者text类型字段又不会出现这个报错，因为此时已经没有字段限制，只有小于所插入值的长度 … ]]></description>
<pubDate>Fri, 05 Jun 2020 07:41:38 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>Sql Server和MySql中的DATEDIFF用法</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=149&Date=20200518-14-43-22]]></link>
<description><![CDATA[DATEDIFF函数，用来查询两个时间值之间的数据Sql Server中的DATEDIFF函数功能：可以直接支持两个年份、两个月份、两个周、天等两个时间之间数据值查询，它提供了三个参数，写法：DATEDIFF ( datepart , startdate , enddate )    ，“datepart” DATEDIFF 用于报告 startdate 与 enddate 之间差异的单位。 常用 datepart 单位包括 month 或 second。“startdate”开始时间设定，可解析为下列值之一的表达式：date、datetime、   datetimeoffset、datetime2、smalldatetime、time。“ enddate”结束时间设定取值类型和“startdate”相同。微软官方文档示例：https://docs.micros … ]]></description>
<pubDate>Mon, 18 May 2020 06:43:22 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>SQL Server服务器ERRORLOG文件撑死硬盘存储空间</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=144&Date=20200317-19-30-42]]></link>
<description><![CDATA[在Sql Server 2005程序安装目录：”盘符:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\LOG“目录下产生“ERRORLOG”文件：ErrorLog ErrorLog.1ErrorLog.2 ErrorLog.3ErrorLog.4 ErrorLog.5 ErrorLog.6这个7个错误日志，严重时可以把整个安装盘符的存储空间消耗殆尽，将严重导致服务程序崩溃。处理方法：在对应数据中执行sql命令“sp_cycle_errorlog”,其中系统数据库中“msdb”数据库清除空间占比最大，这里包含所有数据库的错误日志，其次观察看用户数据库的那个数据库大，越大的数据库其自然错误堆积日志越多。除此“ReportServer”和“ReportServerTempDB” … ]]></description>
<pubDate>Tue, 17 Mar 2020 11:30:42 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>[SqlException (0x80131904): 对象名'×××'无效]</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=131&Date=20190702-07-50-13]]></link>
<description><![CDATA[异常详细信息: System.Data.SqlClient.SqlException: 对象名    &#39;&#215;&#215;&#215;_Data&#39; 无效。   [SqlException (0x80131904): 对象名&#39;&#215;&#215;&#215;&#39;无效。]数据库名称和列明明都是合法字符按规则命名，但始终报出对象名无效，到底问题出在哪里？反复排查，问题出在同一个数据库角色开启两个数据库的访问权限，Sql语句查询数据库中的某个数据表时，需要写明指定哪个数据库下的哪个数据表。详细示例：“SELECT * FROM [数据库名].[dbo].[数据表]”，不能直接写成“SELECT * FROM [数据表]”,否则报错“对象名 [数据表名] 无效”，它不知道去哪个数据库 … ]]></description>
<pubDate>Mon, 01 Jul 2019 23:50:13 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>Sql 查询返回Boolean值问题</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=123&Date=20141117-22-41-05]]></link>
<description><![CDATA[Sql 查询返回布尔/Boolean值，查询数据判断是否满足某一条件是否存在匹配数据。这个很简单通过COUNT(*)获取数据表的数据条数，大于0则是存在，反之就是没有数据。如果要直接返回Boolean值，这里需要做下COUNT(*)值判断处理。通过CASE WHEN ……THEN……ELSE   …… END来判断COUNT(*)值完成布尔值返回。在Sql中的布尔值为Bit，再用CONVERT(BIT, CASE WHEN ……THEN……ELSE …… END)转化化成Bit型数据字段。实际示例：SELECT CONVERT(BIT, CASE WHEN COUNT(*) &gt; 0 THEN &#39;TRUE&#39; ELSE &#39;FALSE&#39; END) AS IsCreateBanner FROM Art_Data   WHERE (Art_IsArtistBa … ]]></description>
<pubDate>Mon, 17 Nov 2014 14:41:05 GMT</pubDate>
<author>weisim3</author>
</item>
<item>
<title>正确并且 SQL Server 已配置为允许远程连接</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=119&Date=20140808-18-57-20]]></link>
<description><![CDATA[“正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)”和“远程过程调用失败 0x800706be”。(Visual Studio 2010中连接数据库报错)( Sql Server 2008 服务无法启动)这个两个问题都是一个问题都是因为Sql Server版本冲突产生的，安装Visual studio 2012是会自动安装Sql server 2012程序，而Visual Studio 2010对应的是Sql Server 2008这是两个版本产生冲突，任意卸载一个版本问题就自动消失，主要问题是“Microsoft SQL Server 2012 Express LocalDB”和Sql Server冲突，卸载它Sql Server 2008的问题就 … ]]></description>
<pubDate>Fri, 08 Aug 2014 10:57:20 GMT</pubDate>
<author>weik</author>
</item>
<item>
<title>仅当使用了列列表并且IDENTITY_INSERT为ON时</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=117&Date=20140718-18-38-06]]></link>
<description><![CDATA[“仅当使用了列列表并且IDENTITY_INSERT为ON时，才能为表&#39;[数据表名]&#39;中的标识列指定显式值。”这个问题困惑了很久，找了很多资料网络上很多人遇到这个，英文中文都有很多人遇到这个问题，说要把”IDENTITY_INSERT为ON“就说要把OFF状态改成ON，但是使用没有明白，设为ON也出问题。我这边的问题，把先前设计好的数据表，主键值为自动增长，并且表内已经有数据，然后在现有的数据表基础上加一个数据字段，然后修改INSERT语句插入数据语句，保存存储过程就报这个错。手动把原先自动增长主键取消，保存下数据表，然后再保存下INSERT存储过程就没问题了，接着再把原来的自动 … ]]></description>
<pubDate>Fri, 18 Jul 2014 10:38:06 GMT</pubDate>
<author>song</author>
</item>
<item>
<title>合计参数中不能有 Memo、OLE 或超级链接对象</title>
<category>Access</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=113&Date=20140509-15-55-57]]></link>
<description><![CDATA[在 Access数据库中进行合计查询SUM字段时跳错: &quot;System.Data.OleDb.OleDbException (0x80040E21): 合计参数 ([FlashMedia_Size]) 中不能有 Memo、OLE 或超级链接对象。&quot;    这个问题FlashMeida_Size是要合计的mdb数据表的字段，查了下意思其实说这个字段类型设置的不对，进行合计总和计算那就只能是数字类型字段才能合计，这里看了数据文件这个字段设置成备注类型了，改成数字类型即可，查询语句就能进合计查询了。]]></description>
<pubDate>Fri, 09 May 2014 07:55:57 GMT</pubDate>
<author>song</author>
</item>
<item>
<title>将 expression 转换为数据类型 nvarchar 时出现算术溢出错误</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=112&Date=20140508-00-11-34]]></link>
<description><![CDATA[把guid字段uniqueidentifier类型数据在Sql语句中转化成nvarchar类型，报错“将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。” 开始没有思考过来，其实是说uniqueidentifier转化成nvarchar时字符长度超出，设定nvarchar是会在后面括号中带入字符长度，将uniqueidentifier转化成nvarchar需要指定36个字符宽，才不会出错，大于36个字符也没问题只要不少于36个字符宽。例如：@UserId uniqueidentifier 这里的@UserId转化成nvarchar写法CAST(@UserId AS nvarchar(36))即不会报错，guid 字段uniqueidentifier数据格式转化成字符串型是36个字宽，不能低于它宽度。]]></description>
<pubDate>Wed, 07 May 2014 16:11:34 GMT</pubDate>
<author>song</author>
</item>
<item>
<title>附加数据库 对于服务器失败</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=99&Date=20131126-00-18-03]]></link>
<description><![CDATA[附加数据库 对于服务器&quot;IP服务器&quot;失败；这个问题是因为Sql Server版本兼容问题引起的，今天遇到这个问题，我在自己机器上是使用的Sql 
server 2008建立的数据库文件，而我把数据库文件传到服务器，然后通过Sql Management来附加数据库，抱错“数据库 
&#39;****.MDF&#39; 
的版本为655，无法打开。此服务器支持611版及更低版本。不支持降级路径。无法打开新数据库&#39;****.MDF&#39;”。这里的意思也就是Sql 
Server 2005无法兼容Sql Server2008的数据库源文件。解决方法，只能通过导入数据库，在Sql Server 
2005中建立同样名称的数据库，然后通过远程将本地数据库中 … ]]></description>
<pubDate>Mon, 25 Nov 2013 16:18:03 GMT</pubDate>
<author>song</author>
</item>
<item>
<title>多步 OLE DB 操作产生错误。如果可</title>
<category>Access</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=64&Date=20120408-18-05-15]]></link>
<description><![CDATA[多步 OLE DB 操作产生错误。如果可能，请检查每个 OLE DB 状态值。没有工作被完成。 Webconfig 数据库配置代码出现异常部分&lt;add name=&quot;DataLiveTel&quot; connectionString=&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\LiveTel.mdb;Persist Security Info=True;Jet OLEDB:Database Password=weisim3Live2012040717.02&quot;                providerName=&quot;System.Data.OleDb&quot; /&gt;在ASP.NET中遇到Access数据库出现异常无法打开。莫名的异常，Access在没有设置密码时候没有此问题，但是设置了密码之后就出现此问题；反复测试问题依 … ]]></description>
<pubDate>Sun, 08 Apr 2012 10:05:15 GMT</pubDate>
<author>song</author>
</item>
<item>
<title>导致无法生成SQL Server的用户实例</title>
<category>Sql Server</category>
<link><![CDATA[https://www.weisim3.com/Blogs?Id=60&Date=20120225-00-35-02]]></link>
<description><![CDATA[由于启动用户实例的进程时出错，导致无法生成 SQL Server 的用户实例。该连接将关闭。在Visual Studio中创建数据库或者在“服务器资源管理器”中打开连接项目现有的数据库文件时跳出“由于启动用户实例的进程时出错，导致无法生成 SQL Server 的用户实例”异常，此时需要删除 Microsoft SQL Server Data文件目录下的SQLEXPRESS文件。将Visual Studio关闭。Windows 7系统是C:\Users\用户名\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS将SQLEXPRESS文件夹删除即可。Windows XP 系统是C:\Documents   and   Settings\用户名\Local   Settings\Application  Dat … ]]></description>
<pubDate>Fri, 24 Feb 2012 16:35:02 GMT</pubDate>
<author>weik</author>
</item>
</channel>
</rss>
