Transferindo BLOBS em um MSSQL - MySQL Linked Server

2

Trabalhando na criação de um novo banco de dados MySQL para um site, e estou tentando descobrir como transferir strings longas.
Eu tenho algumas tabelas MSSQL que têm Varchars variando de 500 a 2000.
Obviamente, no MySQL, eles precisam ser armazenados em um campo Text, que é um BLOB.
Se eu consultar uma tabela no MySQL com um campo de texto, ele parece retornar os dados muito bem. Mas se eu tentar fazer um Insert na tabela com o campo Text, ele retornará um erro dizendo [OLE/DB provider returned message: Query-based insertion or updating of BLOB values is not supported.]

Existe uma maneira de fazer isso funcionar ou terei que fazer isso por transferência flatfile?

    
por AndyD273 01.09.2011 / 18:03

2 respostas

4

Então, depois de olhar em volta muito, notei que há duas versões do conector ODBC, 3.51.28 e 5.1.8 ( link ).

Não sei por que eles estão mantendo duas versões, mas seja o que for. Instalado, redefinido no DNS e capaz de inserir mais de 1000 caracteres.

Agora, esperamos que não haja outros bugs com esse novo.

Em uma nota lateral para as gerações futuras, quando o configurei no DNS, não marquei nenhuma das caixas nas opções Detalhes. Eu não sei se há algum que precise ser checado, mas acho que vou descobrir isso quando algo não funciona.

    
por 01.09.2011 / 21:00
4

Esse problema ocorreu alguns dias atrás no meu servidor vinculado do MySQL. Versão do driver ODBC 5.1.

A conexão do MySQL é feita usando o DSN do sistema, e não a cadeia de conexões nas propriedades do servidor vinculadas. A solução: nas opções de conexão DSN, alterne para a guia "Cursores / Resultados" e desmarque a caixa "forçar o uso de cursores somente de encaminhamento".

Solução com base nisso: link

    
por 05.11.2012 / 09:24