今天用sql server的Microsoft OLE DB provider和ODBC的Microsoft OLE DB provider链接SQL Server数据库,却发现了一个以前从未注意到的问题。
也就是在使用conn.execute时:使用第一种方法是完全正常的,但是在某些情况下,使用ODBC无法读取某些数据(或者读取为空值)。具体原因不清楚,找了半天也没发现区别。后来用了第一种方法。
注意:在sql server 2000和sql server 2005数据库中,问题是相同的。
第一种方法是OLE DB或OleDbConnection(。网)。
(使用SQL Server的Microsoft OLE DB访问接口)
Provider=sqloledb数据源=服务器IP;初始目录=数据库名称;用户Id=用户名;密码=密码;
第二:ODBC(使用ODBC的Microsoft OLE DB提供程序)
driver={ SQL Server };Server=服务器IP;数据库=数据库名称;Uid=用户名;Pwd=密码;
第三:DSN方法
DSN=DSN名称;Uid=用户名;Pwd=密码;
第四种方式:SqlConnection(。网)。
数据源=服务器IP;初始目录=数据库名称;用户ID=用户名;密码=密码;