我使用ADODB记录集使用VBA从Postgres导入一些数据到Excel。我有一列的字符数超过255。不幸的是,当从Postgres提取数据时,该列的记录集最多只能填充255个字符。其余的数据被切断。有办法克服这个限制吗?我已经验证了在Excel中该列的字符限制没有问题。
编辑:我不能分享代码,所以这里有一个例子,我的VBA代码看起来像:
Dim objConnection As Object
Dim objRecordset As Object
Dim sqlstring As String
ConStr= "Driver={PostgreSQL UNICODE};Server=IP
address;Port=5432;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"
sqlstring = 'SELECT columnA, columnB, columnC from tableA'
Set objConnection = CreateObject("ADODB.connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.CursorLocation = 3
objConnection.Open ConStr
objRecordset.Open sqlstring, objConnection
For i = 0 To 2
If objRecordset.Fields(i).Value <> " " Or
objRecordset.Fields(i).Value <> Null Or objRecordset.Fields(i).Value
<> "" Then
ActiveCell.Value = objRecordset.Fields(i).Value
ActiveCell.Offset(0, 1).Activate
End If
Next i
在上面的示例中,ColumnB的长度为1500个字符。但在Excel中,我只能看到255个字符。Recordset本身只能拾取255个字符。我正在努力克服这个限制。
我可以通过编辑连接字符串来解决这个问题。关注页面:odbc.postgresql.org/docs/config.html并添加"B0=5000">