今天我用两种不同的方式链接了sql server数据库:SQL Server的Microsoft OLE DB provider和ODBC的Microsoft OLE DB provider。
但是我发现了一个以前从来没有注意到的问题。
也就是在使用conn.execute时:使用第一种方法是完全正常的,但是在某些情况下,使用ODBC无法读取某些数据(或者读取为空值)。具体原因不清楚,查了半天也没发现区别。
后来用了第一种方法。
注意:在sql server 2000和sql server 2005数据库中,问题是相同的。
The first type: OLE DB or OleDbConnection (. Net) mode
(使用SQL Server的Microsoft OLE DB提供程序)
Provider=sqloledb data source=server IP; Initial directory=database name; User Id=user name; Password=password;
第二种方式:ODBC(使用ODBC的Microsoft OLE DB provider)
driver={ SQL Server }; Server=server IP; Database=database name; Uid=user name; Pwd=password;
第三种方式:DSN模式
DSN=DSN名称;Uid=用户名;Pwd=密码;
The fourth type: SqlConnection (. Net) mode
Data source=server IP; Initial directory=database name; User ID=user name; Password=password;