c# EF 数据库连接

c# EF 数据库连接,第1张

如果只是想修改连接的计算机名(或者sql服务名),我试过下面的代码是成功的。我的步骤,先新建Model,运行成功,然后修改app.config里的连接字符串里的计算机名,运行报错,然后在用代码手动修改回正确的计算机名,运行成功。

        static void Main(string[] args)

        {

            NorthwindEntities en = new NorthwindEntities()

            string constr = @"data source=.\sqlexpress

initial catalog=Northwindintegrated security=True

MultipleActiveResultSets=TrueApp=EntityFramework&quot"

            en.Database.Connection.ConnectionString = constr

            Console.WriteLine(en.Employees.Count())

            Console.ReadLine()

        }

更新的应该是debug下面的mdf,而VS每次编译时候会自动把项目里的mdf复制到debug下

编译好后,不用vs,直接运行debug下的exe,然后 *** 作更新数据库,就应该改变了。

如果你再次运行exe,就应该和上次关闭时的结果一样

在实际的工作中,数据库管理员(dba)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要dba自行手工进行清理。

下面的sql语句列出当前数据库建立的会话情况:

select

sid,serial#,username,program,machine,status

from

v$session

输出的结果:

sid

serial#

username

program

machine

status

----

-------

----------

-----------

---------------

--------

1

1

oracle.exe

work3

active

2

1

oracle.exe

work3

active

3

1

oracle.exe

work3

active

4

1

oracle.exe

work3

active

5

3

oracle.exe

work3

active

6

1

oracle.exe

work3

active

7

1

oracle.exe

work3

active

8

27

sys

sqlplus.exe

workgroup\work3

active

11

5

dbsnmp

dbsnmp.exe

workgroup\work3

inactive

其中sid

会话(session)的id号

serial#

会话的序列号,和sid一起用来唯一标识一个会话

username

建立该会话的用户名

status

当前这个会话的状态,active表示会话正在执行某些任务,inactive表示当前会话没有执行任何 *** 作

假如要手工断开某个会话,则执行:

alter

system

kill

session

'sid,serial#'注意:在上面的示例中,sid为1到7(username列为空)的会话,它是oracle数据库的后台进程,请大家不要对这些会话进行任何 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10801822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存