windows身份验证访问odbc数据源,关于ODBC连接字符串,怎么配置系统dsn,求大神指教。

时间:2022-06-10 06:41:23
客户要求访问数据库用odbc连接方式。我在本地管理工具中新建数据源(ODBC),新建系统DSN,配置成windows身份验证方式登录。在web.config中该如何写连接字符串呢?求指教啊,试了好几个都不行。

<connectionStrings>
    <add name="ConnStr" connectionString="DSN=dbconn;[这里还需要写什么属性吗?]"/>
 </connectionStrings>



try
            {
                string strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
                objConnection = new OdbcConnection(strConnection);
                int x = objConnection.ConnectionTimeout;
                objConnection.Open();

                trans = objConnection.BeginTransaction();

                cmd = objConnection.CreateCommand();
                cmd.CommandTimeout = 100000;
                cmd.Transaction = trans;
                cmd.CommandText = str;
                cmd.ExecuteNonQuery();
                cmd.Dispose();

                trans.Commit();

                objConnection.Close();

                objDataAdapter = new OdbcDataAdapter(cmd.CommandText, objConnection);
                return objDataAdapter;
            }

10 个解决方案

#1


换成sql server身份验证登录看看。

#2


引用 1 楼 qingfeng_wu 的回复:
换成sql server身份验证登录看看。

试过的 ,不行的。可能是我连接字符串写错了。看网上就是DSN=名称;uid=;pwd=;  可是不行呀、在线等答案

#3


Data Source=.;Initial Catalog=jewelbo;Persist Security Info=True;User ID=sa;Password=123

jewelbo这个换成你的数据库看看,用户名、密码都要修改成自己的!

#4


引用 3 楼 qingfeng_wu 的回复:
Data Source=.;Initial Catalog=jewelbo;Persist Security Info=True;User ID=sa;Password=123

jewelbo这个换成你的数据库看看,用户名、密码都要修改成自己的!


这种sqlclient方式肯定是可以的 我之前就是用的这种。关健是这种不安全,客户要求odbc方式连接。看我webconfig配置。之前的注释掉了

<connectionStrings>
    <add name="ConnStr" connectionString="DSN=dbconn;User ID=sa;Password=xsw123456;"/>
    <!--<add name="ConnStr" connectionString="Data Source=.;Initial Catalog=TrackingTool;Integrated Security=True" providerName="System.Data.SqlClient" />-->
   <!-- <add name="ConnStr" connectionString="Data Source=.;Initial Catalog=TrackingTool;Persist Security Info=True;User ID=sa;Password=xsw123456" providerName="System.Data.SqlClient" />-->
      <!--  <add connectionString="Data Source=.;Initial Catalog=TrackingTool;Persist Security Info=True;User ID=sa;Password=xsw123456" name="LocalSqlServer" providerName="System.Data.SqlClient" />-->
    
  </connectionStrings>

#5


在visual studio里面打开Server Explorer(找不到的话就在view菜单下面)
在Data Connections里面选择你想要连接的数据库,没有的话就配置一下你想连接的数据库,然后右键选择Properties,看一下它的connection string就好了。

#6


windows身份验证访问odbc数据源,关于ODBC连接字符串,怎么配置系统dsn,求大神指教。
出现这种问题怎么办,感谢各位了!急着用啊!

#7


dns 是不会显示在链接字符串上的,我刚才配置了下,好像dns是自动生成的一个文件。
在Visual Studio工具下的服务资源管理器里面配置,数据库链接,什么链接的配置都有。

#8


Request.QueryString[""] + "";要这样获取,你Request.QueryString.get(0)这样获取,没有值,当然会抛出异常了!

#9


引用 6 楼 iocx77 的回复:
windows身份验证访问odbc数据源,关于ODBC连接字符串,怎么配置系统dsn,求大神指教。
出现这种问题怎么办,感谢各位了!急着用啊!

Request.QueryString.get(0)到的有值吗?没值你在tostring肯定报异常。Request.QueryString[""] + "";要这样获取

#10


引用 5 楼 u011169205 的回复:
在visual studio里面打开Server Explorer(找不到的话就在view菜单下面)
在Data Connections里面选择你想要连接的数据库,没有的话就配置一下你想连接的数据库,然后右键选择Properties,看一下它的connection string就好了。


最后还是自己找出来原因了。远程服务没启动

#1


换成sql server身份验证登录看看。

#2


引用 1 楼 qingfeng_wu 的回复:
换成sql server身份验证登录看看。

试过的 ,不行的。可能是我连接字符串写错了。看网上就是DSN=名称;uid=;pwd=;  可是不行呀、在线等答案

#3


Data Source=.;Initial Catalog=jewelbo;Persist Security Info=True;User ID=sa;Password=123

jewelbo这个换成你的数据库看看,用户名、密码都要修改成自己的!

#4


引用 3 楼 qingfeng_wu 的回复:
Data Source=.;Initial Catalog=jewelbo;Persist Security Info=True;User ID=sa;Password=123

jewelbo这个换成你的数据库看看,用户名、密码都要修改成自己的!


这种sqlclient方式肯定是可以的 我之前就是用的这种。关健是这种不安全,客户要求odbc方式连接。看我webconfig配置。之前的注释掉了

<connectionStrings>
    <add name="ConnStr" connectionString="DSN=dbconn;User ID=sa;Password=xsw123456;"/>
    <!--<add name="ConnStr" connectionString="Data Source=.;Initial Catalog=TrackingTool;Integrated Security=True" providerName="System.Data.SqlClient" />-->
   <!-- <add name="ConnStr" connectionString="Data Source=.;Initial Catalog=TrackingTool;Persist Security Info=True;User ID=sa;Password=xsw123456" providerName="System.Data.SqlClient" />-->
      <!--  <add connectionString="Data Source=.;Initial Catalog=TrackingTool;Persist Security Info=True;User ID=sa;Password=xsw123456" name="LocalSqlServer" providerName="System.Data.SqlClient" />-->
    
  </connectionStrings>

#5


在visual studio里面打开Server Explorer(找不到的话就在view菜单下面)
在Data Connections里面选择你想要连接的数据库,没有的话就配置一下你想连接的数据库,然后右键选择Properties,看一下它的connection string就好了。

#6


windows身份验证访问odbc数据源,关于ODBC连接字符串,怎么配置系统dsn,求大神指教。
出现这种问题怎么办,感谢各位了!急着用啊!

#7


dns 是不会显示在链接字符串上的,我刚才配置了下,好像dns是自动生成的一个文件。
在Visual Studio工具下的服务资源管理器里面配置,数据库链接,什么链接的配置都有。

#8


Request.QueryString[""] + "";要这样获取,你Request.QueryString.get(0)这样获取,没有值,当然会抛出异常了!

#9


引用 6 楼 iocx77 的回复:
windows身份验证访问odbc数据源,关于ODBC连接字符串,怎么配置系统dsn,求大神指教。
出现这种问题怎么办,感谢各位了!急着用啊!

Request.QueryString.get(0)到的有值吗?没值你在tostring肯定报异常。Request.QueryString[""] + "";要这样获取

#10


引用 5 楼 u011169205 的回复:
在visual studio里面打开Server Explorer(找不到的话就在view菜单下面)
在Data Connections里面选择你想要连接的数据库,没有的话就配置一下你想连接的数据库,然后右键选择Properties,看一下它的connection string就好了。


最后还是自己找出来原因了。远程服务没启动