问题描述
stringmyConnStr="DSN=ora9;UID=sbor;PWD=robs";//建立系统DSNOdbcConnectionmyConnection=newOdbcConnection(myConnStr);测试过,如果myConnStr="DSN=ora9"也就是不写uid,pwd,运行时会出错,"未处理的“System.Data.Odbc.OdbcException”类型的异常出现在system.data.dll中。"但dsn数据源配置中已经有了uid,pwd信息了啊,为何要重写,如果一旦数据库的用户名和密码改变了,难道要改代码,这样用odbc又有什么意义.
解决方案
解决方案二:
不是,贴主的这种方式是SQL方式连接数据库,用SQL方式登录,必须指定用户名和密码如果是Window方式登录连接语句如下:server=(localhost);database=databasename;IntegratedSecurity=true
解决方案三:
dns有的uid和pwd应该是你数据库当前密码吧,如果你数据库的用户名密码改了肯定要跟着改了不管怎么说数据库连接一般都写在配置文件里面,你直接改配置文件不就完了,或者你可以做成一个小工具,直接界面上改.那样你就代码也不用管了
解决方案四:
你可以把uid,pwd写在ini文件里,这样一旦数据库的用户名和密码改变了,就不用改代码了,直接配置ini文件就好了
解决方案五:
Window方式登录server=(localhost);database=databasename;IntegratedSecurity=true这个是连接sqlserver数据库的吧,可以选择不同的验证方式,os认证或者是密码验证,oracle只有在主机上才能选择os认证,也仅限于开启和关闭,dsn数据源在建立的时候,不是已经输入了uid和pwd了,为何在代码中又要重复提供,如果代码中不用的话,如果数据库更改了用户名,只要在客户机的dsn数据源上作调整就好了,为什么不是这样?当然用ini文件也是一个解决方法,但要是这样的话,我就肯定不用odbc了,直接用OracleClient好了
解决方案六:
odbc在.net中没有试过,以前用php时,是可以不输入的如果要求输入的话,那你可以把这个DNS的连接串写在配置文件中,这样就不需要在更改用户名及密码后更改代码了