用.net 2.0操作Oracle数据库,结果返回乱码

FallenAngel 2006-07-13 11:45:52
代码:
System.IO.StreamWriter fFile = new System.IO.StreamWriter(tbBrowser.Text + "\\test.txt", false, System.Text.Encoding.GetEncoding("GB2312"));

System.Data.OracleClient.OracleDataAdapter oa = new System.Data.OracleClient.OracleDataAdapter
("select phone_no from table", "连接串");

DataSet ds = new DataSet() ;

oa.Fill(ds, "test");

for (int i = 0; i < ds.Tables["test"].Rows.Count; ++i)
{
fFile.WriteLine(ds.Tables["test"].Rows[i][0]);
}

fFile.Close();
但是输出到文件的时候,在1200行以后开始出现乱码,怎么回事?
ps:phone_no不存在中文字符
...全文
276 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
FallenAngel 2006-07-13
  • 打赏
  • 举报
回复
用OracleDataReader读出来的数据也不正常
jc15271149 2006-07-13
  • 打赏
  • 举报
回复
System.Text.Encoding.Default 试下
Knight94 2006-07-13
  • 打赏
  • 举报
回复
change
for (int i = 0; i < ds.Tables["test"].Rows.Count; ++i)
{
fFile.WriteLine(ds.Tables["test"].Rows[i][0]);
}

with
for (int i = 0; i < ds.Tables["test"].Rows.Count; ++i)
{
fFile.WriteLine(ds.Tables["test"].Rows[i][0]);
fFile.Flush();
}

Knight94 2006-07-13
  • 打赏
  • 举报
回复
你首先看看ds中的数据是否正常
FallenAngel 2006-07-13
  • 打赏
  • 举报
回复
整个table有1800行左右
FallenAngel 2006-07-13
  • 打赏
  • 举报
回复
昏掉了,用服务器资源管理器建立了一个连接,发现比我多一个参数Unicode=true,加上去以后,导出数据正常

.net 1.1里面不需要的啊
Knight94 2006-07-13
  • 打赏
  • 举报
回复
你改用oledb来操作
FallenAngel 2006-07-13
  • 打赏
  • 举报
回复
不支持关键字: “packet size”。

报错
Knight94 2006-07-13
  • 打赏
  • 举报
回复
如果这样的话,估计是packetsize的问题,default的值为8192,你把他放大来试试。

修改你的connectionstring,增加packetsize标示,例如:
yourConn.ConnectionString = "...;Packet Size=32767;";
FallenAngel 2006-07-13
  • 打赏
  • 举报
回复
用pl/sql develpoer读出数据显示正常
换表,数据根据每条大小不同分别在不同行处出现乱码

似乎是OracleClient有问题
Knight94 2006-07-13
  • 打赏
  • 举报
回复
to 用OracleDataReader读出来的数据也不正常

从数据库端获得就不正常?

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧