Hi All,
We will update database on our office to version 15 very soon, but I
have some doubts about, maybe you could help me on that.
We have export/import procedures between many databases in our system,
some of them are customer side. Then this databases won't be upgraded.
The doubt is about these exp/imp procedures because for that we use
BCP in/out. I wanna know if bcp has problems between different
versions of sybase server.
Any help is welcome.
Tks
Bret_Halford - 05 Sep 2008 16:07 GMT
> Hi All,
>
[quoted text clipped - 8 lines]
> Any help is welcome.
> Tks
Are you using character (-c) or native (-n) mode bcp?
I haven't seen any problems with character mode. I have in the past
occasionally seen problems with native mode when the bcp format
version
changed and the same version of bcp was not used for both the extract
and
the insert. If using native mode, I'd recommend using the higher
version
of bcp to do both the extract and insert.
Other problems usually have to do with changes in table definitions.
For instance,
it isn't uncommon to migrate syslogins from one server to another
using bcp,
however in some version upgrades additional columns have been added
to
syslogins - so the solution there is to either create a holding table
on the higher
version server that has the same format as the older version table,
bcp into that,
then insert-select into the real table adding literal values for the
new columns - or
alternatively, create a view on the older server that adds the
additional columns
and bcp out of that view.
-bret
Sybaseguru - 11 Sep 2008 17:46 GMT
> We will update database on our office to version 15 very soon, but I
> The doubt is about these exp/imp procedures because for that we use
> BCP in/out. I wanna know if bcp has problems between different
> versions of sybase server.
If you keep your client bcp version the same you won't have any problems as
ASE negotiates the TDS level to the lowest common denominator. So you could
continue to use a 12.x bcp version with a 15.x server as the safest
upgrade to give you time to test.