预览模式: 普通 | 列表

SQL RESTRICTED USER

一个数据库,由备份还原过来的,出现了RESTRICTED USER的提示。

查了一下,意思是受限用户,用以下命令搞掂:Alter DATABASE database-name SET MULTI_USER

详细可以看一下这里:http://www.blackwasp.co.uk/SQLRestrictedUser.aspx

分类:生活 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 833

使用反射+注入

很多时候,我们希望程序可以有多种处理事情的方式,只需要修改一下配置文件,添加一个DLL就可以实现了。这就是需要用到了反射+注入了。

我下面举一个实际上要用到的例子:

一个数据中心的管理平台,数据进行处理时会产生很多的事件,而事件的通知方式有N种(现在有短信、邮件、工单)等,因为未知以后将会有其它什么通知方式,故只能通过先定义了接口的方式,用反射载入处理的DLL来实现……

(靠,发现我的文字表达能力真差,不断学习中……)

 

先插代码了:

app.config的配置文件:

<configuration>
  <configSections>
    <!-- connection configuration -->
    <section name="EventHandlers" type="Bingosoft.Time.ServiceRunner.EventHandlerConfig,Bingosoft.Time.ServiceRunner" />
    <section name="SMSConfig" type="Bingosoft.Workflow.EventHandler.SMSConfig,Bingosoft.Workflow.EventHandler" />
    <section name="ServiceRunner" type="Bingosoft.Common.Service.RunnerConfig,Bingosoft.Common.Service" />
  </configSections>
  <SMSConfig>
    <Connection>Data Source=server11,64235;User ID=GMCCPartner;Password=pass@word1;Initial Catalog=SMSCenter;</Connection>
    <ServiceNo>106</ServiceNo>
  </SMSConfig>
  <ServiceRunner>
    <Runner Type="TimerService" Runner="Bingosoft.Time.ServiceRunner.Runner,Bingosoft.Time.ServiceRunner"/>
    <!--<Runner Type="WorkflowRunner" Runner="Bingosoft.Workflow.ServiceRunner.Runner,Bingosoft.Workflow.ServiceRunner"/>-->
  </ServiceRunner>
  <EventHandlers>
    <Handler Type="WorkRemind"	Handler="Bingosoft.Workflow.EventHandler.WorkRemindEvent,Bingosoft.Workflow.EventHandler" />
    <Handler Type="SMS"	Handler="Bingosoft.Workflow.EventHandler.SMSEvent,Bingosoft.Workflow.EventHandler" />
    <Handler Type="SQL"	Handler="Bingosoft.Workflow.EventHandler.SQLEvent,Bingosoft.Workflow.EventHandler" />
  </EventHandlers>
</configuration>

 


读取配置文件:

public sealed class RunnerConfig:Dictionary<string,string>,IConfigurationSectionHandler
    {        
		public string GetRunner(string type)
		{       
			object result =  this[type.ToLower()];
			if (result == null)
				throw new ArgumentOutOfRangeException("type", string.Format("没有类型{0}的Runner注册!", type));
			return result.ToString();
		}
	
		public object Create(object parent, object configContext, XmlNode section)
		{
			XmlNodeList nodes = section.SelectNodes("//Runner");
			foreach (XmlNode node in nodes)
			{
				string name = node.Attributes.GetNamedItem("Type").Value.ToLower();
				string className = node.Attributes.GetNamedItem("Runner").Value;
				this.Add(name, className);
			}
			return this;
		}
    }

 

查看更多...

分类:工作 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 679

SSIS中的数据类型

靠,被搞死了。明明在变量中是datatime的,但我在Execute SQL Task里的参数类型设为DBTIMESTAMP就是不行,后来一个个试了。如果VARCHAR就为空。LONG终于不报错了,但精度似乎不正确,最后,选择为DOUBLE才算完事,靠!!!

 

[Execute SQL Task] Error: Executing the query "Insert INTO SM_DILog                 (InsertCount, UpdateCount, DeleteCount, ErrorCount, LogType, LogSource, StartedOn, EndTime, Duration) VALUES   (?,?,?,?,?,?,?,?,?)" failed with the following error: "对于造型说明无效的字符值". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

 

image

 

今天金晶说把它改为DATA的无问题……奇怪~

分类:生活 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 887

64位进行.NET服务的问题

明天要去移动培训,今天搞了一下环境,那个服务竟然有N多错误。最后DEBUG了一下,发现公司以前一个很老的DLL(DataAccessBlock.dll)运行时报错……真是莫名其妙啊。最后查了一下,.NET 1.1的程序只能运行在32位的环境下。NET2.0以上则可以运行在64位的环境。

那么估计这个DLL应该是1.1弄出来的,而整个方式的工程的编绎环境都设置为AnyCPU的,这样会导致服务会默认运行在64位的环境下,从而导致问题的出现。了解到问题,那就好解决了……把所有的工程都设定为32位的,编绎,运行……无问题~

 

另一个问题:不知为什么,我们这个服务安装完成后,虽然默认是本地系统运行的,但无法接入需要处理的MQ,最后改为管理员登录即可。而在有些机子上,刚不会出现这样的问题。非常奇怪,大家知道咋回事吗?

 

image

分类:工作 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 648

坚持写日志

算起来,今天是工作的2年零5个月了,真是一段很长的时间了。但却转眼间就过去了~可在过去的的二年多的时间了,我似乎却什么都没得到。在技术上还是那么的菜,又没有钱……唯一的收获是变成了公司的老油条吧?为什么呢,我也不知道,好像对什么都不是有激情了,做的东西也很慢了。似乎这最近的一年多时间里,没有什么长进。似乎我原来就是那么笨?不知道~但我应该清楚的一件事情是,这些年来,做什么我都没有做过什么笔记之类的,东西都没有积累,沉淀下来。一时想做做这个,一时想做做那个。我是不是应该开始坚持写日志了呢?开始把我的东西都计划下,都记下来呢?应该吧~

 

今天王C突然跟说我,他准备离职了!真是非常突然,虽然说之前已经知道他有这样的想法了,但没想到他会那么快就动作了。眼看就要年底了,都不等一下啊~不过,好像看他的意思是:实在受不了~嘿嘿,谁不是一样呢……我只觉得,这样一间连加班餐都要计算的公司,可真是没有什么好留恋的……等到某一天吧~很快就要来临。

 

地图图片
分类:生活 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 664

2008 R2上使用的一些问题总结

IIS

  1. 如果出现奇怪的问题,先考虑一下,你的程序连接池是否改为32位的了。如果没有的话,可能出现:ACCESS数据库,SQLite数据库连接出错
    image
  2. 以后待续……
分类:生活 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 650