• ADO数据库连接中的Integrated Security和Persist Security Info参数的作用


    关于sql连接语句中的Integrated Security=SSPI

    解决方法:

    即:Security Support Provider Interface

    设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。

    只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。

    Integrated Security 可以设置为: True, false, yes, no ,这四个的意思很明白了,还可以设置为:sspi ,相当于 True,建议用这个代替 True。

    initial catalog与database的区别是什么

            Initial Catalog:

    DataBase:

    两者没有任何区别只是名称不一样,就好像是人类的真实姓名与曾用名一样。。都可以叫你。

    ********************************************

    Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。

    你可以使用SQL SERVER的用户名和密码进行登录,如:

    "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=数据库名;Data Source=192.168.0.1;User ID=sa;Password=密码"

    ***************************************************

    Integrated   Security     -   或   -    Trusted_Connection   'false'   当为   false   时,将在连接中指定用户   ID   和密码。当为   true   时,将使用当前的   Windows   帐户凭据进行身份验证。   可识别的值为   true、false、yes、no   以及与   true   等效的   sspi(强烈推荐)。  

    *************************************************

    Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",

    True表示保存,False表示不保存

    ADO缺省为True
    (ADO.net缺省为False,未测试,根据参考资料上说的)

    具体可以通过ADO的Connect对象的ConnectString属性进行验证,如下所示(以下在Delphi7中测试通过):

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

    数据库连接前

    ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=false"

    数据库连接成功后

    ConnectString="Provider=MSDAORA.1;User ID=yzs;Data Source=ydgl22"

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

    数据库连接前

    ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=true"

    数据库连接成功后

    ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=dlyx;Data Source=ydgl22"

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

    总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码(windows2003在sp1前就发生过这个问题)。

  • 相关阅读:
    项目经理成长之路-初入职场(二)
    项目经理成长之路-我的大学(一)
    别了郑州,2020再出发
    RPC协议实践入门
    Spark学习进度11-Spark Streaming&Structured Streaming
    使用Python自动填写问卷星(pyppeteer反爬虫版)
    All mirror URLs are not using ftp, http[s] or file.
    2018蓝桥杯A组省赛A,B,C,D
    Spark学习进度10-DS&DF基础操作
    SparkSQL学习进度9-SQL实战案例
  • 原文地址:https://www.cnblogs.com/qixin622/p/1684829.html
Copyright © 2020-2023  润新知