当前位置:编程学习 > C#/ASP.NET >>

代码中的dsn连接串一定要带uid 吗

string myConnStr = "DSN=ora9;UID=sbor;PWD=robs";//建立系统DSN
OdbcConnection myConnection = new OdbcConnection(myConnStr);
测试过,如果 myConnStr="DSN=ora9"
也就是不写uid,pwd,运行时会出错,"未处理的“System.Data.Odbc.OdbcException”类型的异常出现在 system.data.dll 中。"
但dsn数据源配置中已经有了uid,pwd信息了啊,为何要重写,
如果一旦数据库的用户名和密码改变了,难道要改代码,这样用odbc又有什么意义. --------------------编程问答--------------------
不是 ,贴主的这种方式是SQL 方式连接数据库,用SQL方式登录,必须指定用户名和密码

如果是Window方式登录连接语句如下:

server=(localhost);database=databasename;Integrated Security=true --------------------编程问答-------------------- dns有的uid和pwd应该是你数据库当前密码吧,如果你数据库的用户名密码改了肯定要跟着改了
不管怎么说数据库连接一般都写在配置文件里面,你直接改配置文件不就完了,或者你可以做成一个小工具,直接界面上改.那样你就代码也不用管了 --------------------编程问答-------------------- 你可以把uid,pwd写在ini文件里,这样一旦数据库的用户名和密码改变了,就不用改代码了,直接配置ini文件就好了 --------------------编程问答-------------------- Window方式登录
server=(localhost);database=databasename;Integrated Security=true
这个是连接sqlserver数据库的吧,可以选择不同的验证方式,os认证或者是密码验证,
oracle 只有在主机上才能选择os 认证, 也仅限于开启和关闭,
dsn数据源在建立的时候,不是已经输入了uid和pwd了,为何在代码中又要重复提供,如果代码中不用的话,
如果数据库更改了用户名,只要在客户机的dsn数据源上作调整就好了,为什么不是这样?
当然用ini文件也是一个解决方法,但要是
这样的话,我就肯定不用odbc了,直接用OracleClient好了 --------------------编程问答-------------------- odbc在.net中没有试过,以前用php时,是可以不输入的

如果要求输入的话,那你可以把这个DNS的连接串写在配置文件中,这样就不需要在更改用户名及密码后更改代码了

补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,