いつもお世話になっております。
ACCESSをインターフェースにして、SQLserverにODBCでリンクしたテーブルがあります。
接続文字列は以下の様に記載しています。
Const server_name As String = "XXXXXXXXX\SQLEXPRESS,1434"
Const database_name As String = "XXXXXXXX"
linkPath = "ODBC;DRIVER=SQL Server;SERVER=" & server_name & ";DATABASE=" & database_name & ";UID=XXX;PWD=XXXXXXXX"
**** テーブル名取得処理 ****
この後で、DoCmd.TransferDatabase acLink, "ODBC データベース" , linkPath, 取得したテーブル名
でリンクテーブルを作成しているのですが、表題のとおり、dateteime2型がリンクテーブルではすべてテキスト型になってしまいます。
あらかじめDSNを作成して、接続文字列の中に入れておくと、日付型でリンクされます。
linkPath = "ODBC;DRIVER=SQL Server;SERVER=" & server_name & ";nsn=XXXX;DATABASE=" & database_name & ";UID=XXX;PWD=XXXXXXXX"
これだと問題ないです。
できれば、dsnなしで、接続したいのですが、datetime2がテキスト型になってしまうのは仕様ということで回避策はないのでしょうか?
因みに、dateteimeだと問題なく日付型になります。また、dateだとテキスト型になってしいます。
dateteime2をdatetimeにすればいいのですが、かなりのデータが入っているので、型を変更して何か不具合があったらと思うと、躊躇してしまいまして。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/20 10:32